Jump to content

Error type Mismatch al comparar un campo de bd y una variable -Ayuda por favor-


Go to solution Solved by Frank2021,

Recommended Posts

Como no soy muy avezado en estas cuestiones de VBA espero que alguien me pueda ayudar.

Tengo una SELECT para extraer datos de un fichero DBASE  en donde  no consigo poder comparar un campo de la base de datos con un valor string que introduzco en una celda, de todas todas obtengo error TYPE MISMATCH, no sé cual es la forma de hacerlo. Si comparo un campo FECHA con esta instrucción que cogí de algún sitio SI que me funciona bien : AND C.FECHA <= {" & fecSel & "}  En cambio no me funciona para comparar esto dentro de la SELECT con un campo que también es alfabético:   AND A.CODIGO={" & CORREDOR & "}  siendo CORREDOR y A.CODIGO dos campos alfabéticos como digo. Estoy parado con esto desde hace días y no consigo encontrar respuesta

Alguien sabe cómo sería la sintaxis de esa comparación para que pueda funcionar.

Link to comment
Share on other sites

Hace 2 horas, Frank2021 dijo:

Hola,

sin fichero que subas te puedes imaginar que es difícil ayudarte.

Intentar esto:

AND A.CODIGO={" & "'" & CORREDOR & "'" & "}

Saludos

Muchas gracias por el intento Frank2021 pero tampoco de esta manera me funciona, si te resulta más sencillo también podría convertir los valores en numéricos anteponiendo VAL(A.CODIGO) yo he probado así y tampoco he conseguido nada en múltiples intentos. Lo de subir la macro en este caso es un poco complicado porque además de subir varios ficheros para que funcione hace falta el proveedor de acceso a datos y sería un poco latoso para cualquiera. No sé jamás pensé que me podría atascar tanto (a pesar de ser un novato en esto) con algo tan aparentemente trivial pero estoy desesperado ya.

Link to comment
Share on other sites

Muchas gracias Frank por tu interés. Mira he simplificado el ejemplo al máximo incluyendo el fichero con  4 posiciones y dejando la SELECT "peladita" para que se entienda mejor y de paso incluyo en el  archivo ZIP  el proveedor de datos para  excel de 32 bit (que al parecer es el único disponible para estos archivos) por si es necesario.

Un saludo,

CORREDORES.zip

Link to comment
Share on other sites

Muchísimas gracias Frank funciona perfectamente. Es genial contar con gente como tú en este mundo. Me has solucionado algo que me tenía completamente bloqueado. Si te acercas  por Bilbao tienes pagadas unas cervezas. De verdad graciaaaaas

 

Fernando.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Crear macros Excel

  • Posts

    • Hola colegas, buenas tardes reiteradas. Vuelvo por acá, ahora para que me brinden ayuda con una alerta. Me explico: Este es el proyecto del que les comenté que mi Jefe me pidió hacer. En el FrmCombustible debo crear dos (2) alertas, UNA - Que un (1) mes antes de vencerse las tarjetas me envíe un MsgBox : "La Tarjeta " &      " se vence en un mes"                 El Listado de tarjetas está en la Hoja5 (Auxiliares). Se debe tener en cuenta que puede estar en blanco o vacío (Empty) este campo. Yo comencé a trabajarlo, pero me "perdí", porque creo se debe generar un ciclo que recorra las tarjetas y las fechas de vencimientos y las compare con la fecha actual. (Modulo4 ) DOS - En este mismo Formulario (FrmCombustible), necesito me envíe una alerta cuando una tarjeta X tenga un consumo de 350, porque el valor máximo a tener es de 400. (Columna "Consumo") Esto puede ser al abrir el archivo o al cargar el formulario. De estos "AVISOS" tengo  que hacer algunos más, pero con la ayuda de ustedes con estos dos puedo hacer los que me falten. Mil gracias de antemano. Espero puedan comprenderme. Un abrazo a todos. Pino Sistema de Matto Autos.xlsm
    • Gracias profesor Antoni, perfecto. Muy agradecido por su oportuna, pronta y eficaz respuesta. En estos días voy a tener que acudir a ustedes en varias ocasiones, porque el Proyecto que mi Jefe me pidió que hiciera es más de lo que mis conocimientos "almacena", pero son retos que me gustan porque aprendo de ellos. Saludos a Usted, AValencia, Haplox y JSD, que por cierto hace días no lo "veo" por el Foro, pero espero que se encuentre bien de salud, y a todo el resto del tremendo equipo de AyudaExcel. Mis respetos. Pino  
    • Hola Lo que necesito es que cuando se posicione en la celda activa, que tiene que ser la G8 y ésta esté vacía, muestre el formulario UserForm1 Lo que yo tengo hasta ahora es esto, que me enseña el formulario cuando la celda activa es la G8,   If ActiveCell.Address ="$G$8" then UserForm1.Show Else UserForm1.Hide  
    • He hecho un pequeño retoque en los procedimientos de modificar, insertar y doble_click en la lista. Probado., Ordenes v1.0.0 (1).xlsm
    • Muchas gracias Antoni por la respuesta y su tiempo. intente con lo que recomienda y me da este error "[microsoft][ODBC SQL Server Driver][SQL Server]Column name or nomber of suplied values does not matsch table definitions" Todo el codigo que estoy utilizando es el siguiente: Private Sub InsertarFila() Sql = "INSERT INTO Proceso_Sucesorios VALUES(" Sql = Sql & "'" & ActiveCell.Offset(0, 26) & "'," Sql = Sql & "'" & ActiveCell.Offset(0, 0) & "'," Sql = Sql & ActiveCell.Offset(0, 8) & "," Sql = Sql & ActiveCell.Offset(0, 9) & "," Sql = Sql & "'" & ActiveSheet.Range("H3").Value & "'," Sql = Sql & "'" & Format(ActiveSheet.Range("J3").Value, "YYYY-MM-DD") & "'," Sql = Sql & "'" & ActiveSheet.Range("M1").Value & "'," Sql = Sql & "'" & Format(ActiveSheet.Range("N1").Value, "YYYY-MM-DD hh:mm:ss") & "')" Cnn.Execute Sql, , adCmdText Exit Sub El error anterior no esta ahora es un error que al parecer sin firentes la columnas por esto adjunto una imagen de la estructura de la table a la cual estoy enviando la información:      De verdad valoro mucho la ayuda.
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy