Jump to content

AlexanderS

Moderators
  • Content Count

    1,285
  • Joined

  • Last visited

  • Days Won

    52

AlexanderS last won the day on September 18

AlexanderS had the most liked content!

About AlexanderS

  • Rank
    Riddle
  • Birthday 08/22/1990

Profile information

  • Gender
    Hombre
  • Localización:
    Costa Rica

Converted

  • Campos
    ,

Recent Profile Visitors

4,428 profile views
  1. hola Alexander muchas gracias por sus aportes y soluciones.  tengo na duda adjunto un fichero que se conecta a una base de acces y lo que yo necesito es que este fichero sea modificado para conectar a sql server, soy nuevo y lo mas probable que lo que necesito sea sencillo. 

    Desde ya muchas gracias

     

     

    Combos dependientes SQL.rar

  2. A simple vista creo que el error esta en que abres 2 veces la conexión. La segunda te da el error ya que la conexión ya estaba abierta e intentas volver a abrirla. Saludos
  3. Hola @pepe1970, cuando programas dentro de un formulario se entiende que "Textbox33" es un control dentro de este formulario. Pero como en tu caso estás tratando de hacer una referencia a un "Textbox33" dentro de un módulo que está fuera del formulario, por lo que función "Query1" trata al "Textbox33" como una variable no declarada. Siempre es aconsejable que manejes las instrucciones que hacen referencia a controles de formulario dentro del mismo formulario, si aún así por alguna razón tienes que tenerlo en un módulo aparte debes colocar el nombre del formulario antes del nombre del control: Userfrom1.TextBox33 = "" Saludos
  4. @Juan Pelfort, si sientes que el tono usado por un usuario hacia ti fue inapropiado puedes reportar el mensaje para que los moderadores podamos revisar el caso. También puedes usar el mensajero personal del foro si necesitas comunicarte con alguien, claro siempre manteniendo el respeto. Saludos.
  5. @pepe1970 es muy difícil poder darte una respuesta adecuada con tan poca información, por lo que voy a tratar de explicarte de forma general como son los pasos a seguir para conectar excel a un SQL Server y traer datos a un textbox en un formulario. Lo primero que debemos hacer es conectarnos al servidor SQL, para esto debemos abrir la coneccion mediante el siguiente código: *Debes copiar el código entero dentro de un módulo Public miConexion As New ADODB.Connection Public rs As New ADODB.Recordset Sub Conecta() Dim ConnectionString As String, BD As String On Error GoTo salir BD = "NOMBRE DE LA BASE DE DATOS" '<<<<<<<< Coloca el nombre de la base de datos de SQL 'En "Data Source=" debe ir la dirección IP del servidor SQL ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=" & BD & ";Data Source=10.10.0.130" If miConexion.State = 1 Then miConexion.Close Set cnn = New ADODB.Connection miConexion.Open ConnectionString miConexion.CommandTimeout = 900 Exit Sub salir: MsgBox err.Description & vbCrLf & vbCrLf & "Imposible conectar con la Base de Datos" & vbCrLf & _ "Detalles de la conexón:" & vbCrLf & ConnectionString, vbExclamation, "Error de Conexión" End Sub Debes modificar el nombre de la base de datos "BD" , la ruta de tu base "Data Source" e ingresar el Usuario y contraseña para conectarse a la BD Con esto abres una conección al servidor SQL, ahora imaginando que tienes un formulario creado con 2 textbox, siendo el textbox1 el que utilizaras para buscar y el textbox2 donde obtendras el resultado, podemos utilizar el siguiente ejemplo: *En mi ejemplo usare una hipotética tabla llamada "Clientes" donde tendré un campo numérico llamado "DNI" con los DNI de los clientes y otro llamado "Nombre" con los nombres de los clientes. Private Sub CommandButton1_Click() Dim SQL As String Call Conecta '<<<< Abrimos la conección al SQL Set rs = New ADODB.Recordset SQL = "SELECT [Nombre] FROM Clientes where [DNI] = " & CDbl(TextBox1) '<<< Cadena SQL rs.Open SQL, miConexion, 3, 3, adCmdText '<<<< Se realiza la consulta al servidor SQL If rs.EOF = False Then '<<< Comprobamos que la consulta nos traiga resultados Me.TextBox2 = rs.Fields("Nombre") '<<< Pasamos los resultados al Textbox End If End Sub Como verás necesitarás al menos un mínimo conocimiento de las cadenas de consulta en SQL, por lo que te recomiendo buscar sobre el tema. Esto es un muy resumido ejemplo de como realizar la conexión al SQL y realizar una pequeña consulta, espero al menos te de una idea de lo que debes buscar de ahora en adelante. Saludos.
  6. Hola @pepe1970, debes ser mas especifico con tu consulta, adjuntar con archivo de ejemplo con el progreso que tengas e indicar de una forma más exacta donde está el problema. Saludos.
  7. Hola @hernanmrx, te dejo un ejemplo de una formula valida en DAX. Comentas, saludos. Ejemplo DAX.xlsx
  8. @fredy122, para que podamos entenderte mejor y poder ayudarte debes adjuntar un archivo de excel de ejemplo, preferiblemente con algún progreso que tengas. De mi parte te comparto este pequeño código que debes copiar al módulo del libro "ThisWorkbook", cuando selecciones un rango de celdas con números te devolverá algunos resultados. Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) On Error GoTo salir Resul = "Max: " & Application.WorksheetFunction.Max(Target) & Chr(10) Resul = Resul & "Min: " & Application.WorksheetFunction.Min(Target) & Chr(10) Resul = Resul & "Media: " & Application.WorksheetFunction.Median(Target) & Chr(10) Resul = Resul & "Cuenta: " & Application.WorksheetFunction.Count(Target) & Chr(10) Resul = Resul & "Suma: " & Application.WorksheetFunction.Sum(Target) & Chr(10) MsgBox Resul salir: End Sub La idea es que lo uses como guía para que prepares tu archivo, en este caso muestra la información en un msgbox pero lo puedes adaptar para un formulario. Saludos.
  9. Debes de estar escribiendo mal la ruta de la BD, no afecta que el archivo este en en la red siempre y cuando tengas permisos para acceder a ella. Lo que suelo hacer para no equivocarme al escribir la ruta es usar esta opción del explorador de archivos Saludos.
  10. Este error se da cuando en la tabla de access hay columnas que no existen o tienen un nombre distinto en la hoja de excel, debes revisar que todos los campos están dentro de los 2 archivos y que se llamen igual tomando en cuenta mayúsculas y minúsculas. Los archivos que compartiste, el libro de excel no tienen ninguna hoja relacionada a la tabla de access, no se si fue un error al subir el archivo o no te entendí algo. Te tejo el ejemplo de como debería funcionar el código que te compartí, debes ejecutar la macro "Actualiza_Cttos" en la hoja "Datos a Exportar" Saludos. Prueba cttos.zip
  11. Hola estimado Alexanders una consulta te explico el funcionamiento de la hoja y el objetivo. 

    Datos de funcionamiento actual:

    1 En la hoja adjunto en la pestaña estimacion:

    3 En la celda "est" se elige la columna con los valores de % de la columna U a la DP regresando el porcentaje a las celdas L17:L25 "esta estimación" 

    2 En las celdas U17:U25  a la celda DP17:DP25 se captura un % de avance sobre el importe limite máximo de las celdas H17:25 (con la condición que en la suma de las celdas T17:T25 no supere el 100%  sobre el importe total de cada concepto) 

    Objetivo:

    1 Que en las celdas celdas U17:U25  a la celda DP17:DP25 se pueda capturar cantidades numericos no porcentajes. 

    2 Que en las celdas celdas U17:U25  a la celda DP17:DP25 la sumatoria de la captura horizontal del volumen sea el limite del valor de las celdas G17:G25.

    Con el fin de que se capturen volumenes medibles y no porcentajes pero que esten limitados al volumen del presupuesto establecido y no se pueda exceder. 

    Sin mas por el momento quedo a sus finas ordene para cualquier duda. 

    Adjunto link de archivo. 

    http://www.mediafire.com/file/81t79c0k58wgodp/190917_ESTIMACION.xls/file

     

     

     

     

     

     

     

     

  12. Hola @xveganx, para tener un mayor entendimiento sobre las consultas siempre se solicita un archivo de ejemplo, en tu caso la tabla de access y el excel, con datos ficticios es suficiente ya que lo se requiere es ver la estructura de tus archivos. Te dejo un pequeño código que hace lo que quieres, siempre y cuando lo sepas adaptar a tu archivo. Sub Exp_ACCESS() Set cn = CreateObject("ADODB.Connection") dbPath = "C:\Users\Usuario\Documents\Database1.accdb" '>>> RUTA de la BD Tabla = "Tabla1" ' >>> Nombre de la tabla de Access dbWb = Application.ActiveWorkbook.FullName dbWs = Application.ActiveSheet.Name scn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath dsh = "[" & Application.ActiveSheet.Name & "$]" cn.Open scn ssql = "Delete * From " & Tabla cn.Execute ssql ssql = "INSERT INTO " & Tabla & " ([CONTRATO], [CONTRATO SAP], [FECHA], [PROVEEDOR], [SUCURSAL], [DESCRIPCION], [MONEDA]) " ssql = ssql & "SELECT [CONTRATO], [CONTRATO SAP], [FECHA], [PROVEEDOR], [SUCURSAL], [DESCRIPCION], [MONEDA]" & _ " FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh cn.Execute ssql MsgBox "Listo !!", vbInformation End Sub Saludos.
  13. Lo siento pero no tengo idea, y no puedo hacer mas pruebas dadas las limitaciones de mi cuenta de instagram. Tendrás que leer la documentación del conector, tal vez hay un paso que nos saltamos.
×
×
  • Create New...

Important Information

Privacy Policy