Jump to content

marcosab

Members
  • Content Count

    28
  • Joined

  • Last visited

About marcosab

  • Rank
    Member
  • Birthday 02/23/1984
  1. Gracias por la ayuda. Seguramente algo tengo que estar haciendo mal. Lo puse de la siguiente forma y me da error con depurador al parecer es en esta parte del código " .Open Sql, Cnn, , , adCmdText" Sub crear() Application.ScreenUpdating = False If Trim([C9]) = "" Then MsgBox "*** Cédula en blanco ***", vbCritical, "Alerta" Exit Sub End If If Trim([E9]) = "" Then MsgBox "*** Riesgo en blanco ***", vbCritical, "Alerta" Exit Sub End If If Trim([C11]) = "" Then MsgBox "*** Nombre en blanco ***", vbCritical, "Alerta" Exit Sub End If Set Cnn = New ADODB.Connection With Cnn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=" & ThisWorkbook.Path & "\Datos\01.Adeudos.accdb" .Open End With Set Rs = New ADODB.Recordset Sql = "Select [Num Id] From pen Where [Num Id] =" & Worksheets("Registro").Range("C9").Value With Rs .CursorLocation = adUseClient .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open Sql, Cnn, , , adCmdText End With If Rs.RecordCount >= 1 Then MsgBox "Ya existe el ID, modifique" Exit Sub End If Sql = "INSERT INTO pen ([Num Id], Nombre, Riesgo, [Monto Caso], Moroso, [Nun_Patrono], [Nom_Patrono]) " Sql = Sql & "VALUES ('" & Worksheets("Registro").Range("C9").Value & "', " & _ "'" & Worksheets("Registro").Range("C11").Value & "', " & _ "'" & Worksheets("Registro").Range("E9").Value & "', " & _ "'" & Worksheets("Registro").Range("G9").Value & "', " & _ "'" & Worksheets("Registro").Range("G11").Value & "', " & _ "'" & Worksheets("Registro").Range("C13").Value & "', " & _ "'" & Worksheets("Registro").Range("E13").Value & "' )" With Rs .CursorLocation = adUseClient .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open Sql, Cnn, , , adCmdText End With MsgBox "Datos actualizados con Exito!!!", vbInformation, "SACI" A_ingesarDatos = True End Sub Saludos
  2. Buenas tardes Gracias por el consejo así lo aplicare para casos futuros. Este el código que tengo para crear el registro de Excel a ACCESS y funciona bien para crear el registro. Sub crear() Application.ScreenUpdating = False If Trim([C9]) = "" Then MsgBox "*** Cédula en blanco ***", vbCritical, "Alerta" Exit Sub End If If Trim([E9]) = "" Then MsgBox "*** Riesgo en blanco ***", vbCritical, "Alerta" Exit Sub End If If Trim([C11]) = "" Then MsgBox "*** Nombre en blanco ***", vbCritical, "Alerta" Exit Sub End If Set Rs = New ADODB.Recordset Set cn = New ADODB.Connection cn.Open Conexion Sql = "INSERT INTO pen ([Num Id], Nombre, Riesgo, [Monto Caso], Moroso, [Nun_Patrono], [Nom_Patrono]) " Sql = Sql & "VALUES ('" & Worksheets("Registro").Range("C9").Value & "', " & _ "'" & Worksheets("Registro").Range("C11").Value & "', " & _ "'" & Worksheets("Registro").Range("E9").Value & "', " & _ "'" & Worksheets("Registro").Range("G9").Value & "', " & _ "'" & Worksheets("Registro").Range("G11").Value & "', " & _ "'" & Worksheets("Registro").Range("C13").Value & "', " & _ "'" & Worksheets("Registro").Range("E13").Value & "' )" cn.Execute (Sql) cn.Close Set cn = Nothing MsgBox "Datos actualizados con Exito!!!", vbInformation, "SACI" A_ingesarDatos = True End Sub En que lugar puedo agregar las lineas recomendadas para que valide si existen los datos antes de que los cree. Saludos cordiales.
  3. Hola a todos Tengo el siguiente macro que crea los datos de Excel a ACCESS. Ocupo de la ayuda de ustedes para que el macro crear revise primero si existe la cédula en el campo "Num Id" si existe debe alertar y no crear la fila. sino existe debe crear todos los datos. https://mega.nz/file/hQIwHaSJ#2rkHUCQHiKFAvsUAbkm4MCHuVUrkdEMhBafuyABgYEk Muchas gracias por toda la ayuda
  4. Un nuevo aporte para finalizar el proyecto Tengo el archivo funcionando cuando el usuario requiere solo una hoja activa. cuando se requiere que mas hojas estén activas no funciona. Ejemplo el user marco pass 123 debería tener activas las hojas "Registro, Registro1, Registro2". Con el codigo actual solo funciona la hoja "Registro" Ademas un favor extra que dependiendo el usuario que inicie sección ponga el Nombre de la columna "Nombre" en ("01.Adeudos" tabla "usuarios") del archivo en ACCESS y lo pegue en la hoja "Principal" celda C7 del archivo de EXCEL. en el siguiente enlace esta un ejemplo del proyecto. https://mega.nz/file/YRpRXZTL#Uynlq0oW77Eo0VbME26yYkKc1g7jXXu9w1AwfbFlRp0 De nuevo muchas gracias por toda la ayuda en el proyecto. Saludos
  5. Muchas gracias Estaba revisando la información y requiero de la ayuda en lo siguiente: 1 Requiero que esa información la tome de la base de datos "01.Adeudos" tabla "usuarios". Además que que dependiendo las hojas activas sean visualizadas o ocultas. solo el administrador debe tener acceso a todas las hojas. Esto funciona solo si hay solo si el usuario activa una hoja pero si se requiere que estén activas mas de una hoja no funciona. ejemplo el user marco pass 123 debería tener activas las hojas "Registro, Registro1, Registro2". como esta ahorita solo visualiza la hoja "Registro" Ademas un favor extra que dependiendo el usuario que inicie sección detecte el Nombre de la columna "Nombre" en ("01.Adeudos" tabla "usuarios") y lo pegue en la hoja "Principal" celda C7. De nuevo muchas gracias por toda la ayuda en el proyecto. Saludos
  6. Muchas gracias por el aporte He estado trabajando en el registro tengo este codigo para agregar datos pero no logro que me los agregue favor ayuda para detectar el problema Function ingesarDatos_01() As Boolean Dim sSQL As String Dim sSQLIngreso_01 As String Dim nResultado As Long Dim nFila As Double Dim rCelda As Range Dim sTexto As String ingesarDatos_01 = False '-------------------------------------------------------------------------------- 'obtenemos la ultima fila con datos '-------------------------------------------------------------------------------- '-------------------------------------------------------------------------------- 'Creamos el String de Ingreso de datos '-------------------------------------------------------------------------------- sSQL = "INSERT INTO 02_morosos (Cedula, Carpeta, Funcionario_1, Fecha_1, Numero_Patrono, Nombre_Patrono) " sSQL = sSQL & "VALUES ('" & Worksheets("Registro_01").Range("C9").Value & "', " sSQL = sSQL & Worksheets("Registro_01").Range("J2").Value & ", " sSQL = sSQL & Worksheets("Registro_01").Range("C6").Value & ", " sSQL = sSQL & "#" & Format(Worksheets("Registro_01").Range("F6").Value) & "#, " sSQL = sSQL & Worksheets("Registro_01").Range("C13").Value & ", " sSQL = sSQL & Worksheets("Registro_01").Range("E13").Value & ", " '-------------------------------------------------------------------------------- 'realizamos el ingreso de los datos para cada linea 'si todo salio OK, nResultado sera 0 '-------------------------------------------------------------------------------- If nResultado <> 0 Then MsgBox "Problemas al ingresar el registro", vbCritical, "SACI" Exit Function End If MsgBox "Datos actualizados con Exito!!!", vbInformation, "SACI" ingesarDatos_01 = True End Function
  7. Buenos dias Muchas gracias por su respuesta, disculpa si enfoque mal la pregunta fue que tenia la duda de que se pudiera hacer eso desde excel, gracias por aclarar y tener certeza de que si es posible. Es un proyecto grande resolviendo esas consultas me parece puedo completar hacer de mi parte el resto del proyecto. Gracias por sus aportes. Saludos
  8. Buenas tardes. Consulta lo que estoy intentado hacer es posible desde excel? Saludos.
  9. Buenos días Primero que todo debo dar gracias por toda la ayuda de los miembros del foro. Estoy iniciando con un sistema para registrar información de un proceso con macros en EXCEL que utiliza información de ACCESS, el sistema se debe utilizar por varias personas. Tengo las siguientes dudas que acudo a ustedes para resolverlas. Usuario admin Contraseña 123 1 Logre que detecte usuario y contraseña de una hoja de Excel. requiero que esa información la tome de la base de datos "01.Adeudos" tabla "usuarios". Además que que dependiendo las horjas activas sean visualizadas o ocultas. solo el administrador debe tener acceso a todas las hojas. 2 En la hoja "Registro" debe consultar a la base de datos "01.Adeudos" tabla "pen" y completar datos. despues el usuario debe completar datos y permitir actualizar los datos en la base de datos "01.Adeudos" tabla "usuarios". https://mega.nz/file/MB5HyTib#5TMCNyAY50kXBSkCSe29piGkEYL9hoxhVtUzUzfu3Xk Saludos,
  10. Muchas gracias revise el archivo muy buen aporte. saludos
  11. Hola buenos dias Alguno de ustedes me puede ayuda para lograr que funcione al menos lo que se menciona en el punto 2. saludos
  12. Muchas Gracias Rolano Realiza bien la conexión muy amable por su ayuda. Para explicar con mas detalles extras. 1) Debe realice una buscada en la base de datos de access antes de guardar, con el propósito de que no existan todos los datos que se van a guardar, esto con el propósito de que no se duplique la fila en Access. 2) Debe validar si hay datos de "B9:F32" y guardar todas las que contengan valores. Les dejo un nuevo archivo con algunos datos extras para almacenar. Muchas gracias por su ayuda es un excelente grupo de ayuda para los que no somos muy expertos. Saludos, Datos_new.rar
  13. Buenos días Grupo Acudo a la ayuda de ustedes para realizar una conexión de un macro de excel a una base de datos de ACCESS Ademas me gustaria saber si es posible que detecte si la hoja Registro tiene mas de una fila con datos lo pase automaticamente al archivo de ACCESS. Saludos Datos.rar
  14. Funciono excelente, eso me ayuda demasiado. Muchas gracias
×
×
  • Create New...

Important Information

Privacy Policy