No coinciden los tipos de datos en la expresión de

Private Sub Form_Activate()
Set cnn1 = New ADODB.Connection
prov = "provider=microsoft.jet.oledb.4.0;"
base = "Data Source =" & App.Path & "\clinica97.mdb"
cnn1.Open prov + base
Set rst1 = New ADODB.Recordset
sql1 = "select * from reconsulta"
sql2 = ""
SQL = sql1 + sql2
rst1.Open SQL, cnn1, adOpenDynamic, adLockOptimistic
End Sub
Private Sub Image1_Click()
Set rst1 = New ADODB.Recordset
sql6 = "select Numero, Fecha, DX from reconsulta"
sql7 = " where Expediente=" & Trim(Text9) & ""
sql8 = sql6 + sql7
rst1.CursorLocation = adUseClient
rst1.Open sql8, cnn1, adOpenDynamic, adLockOptimistic
If rst1.EOF = False Then
Me.DataGrid1.Refresh
For k = 1 To rst1.Fields.Count
Set Me.DataGrid1.DataSource = rst1.DataSource
Next
End If
End Sub
Quisiera que me ayudaran con este error que me da mi programa, el error es el siguiente:
No coinciden los tipos de datos en la expresión de criterios
el error me lo da en la linea en negrita y cursiva

1 respuesta

Respuesta
1
¿EL error en que linea dices que te da? No se ve nada en negrita cursiva.
Espero me respondas eso para poder ayudarte un poco más, pero por ahora quiero darte un consejo con respecto a las consultas que estas realizando o más bien a la forma en que las realizas, estas utilizando muchas variables del tipo sql cuando podrías ocupar solo una por consulta completa, por ejemplo:
Esta consulta:
sql6 = "select Numero, Fecha, DX from reconsulta"
sql7 = " where Expediente=" & Trim(Text9) & ""
¿Qué tipo de datos es Expediente? ¿Numero? O ¿Carácter?
La podemos dejar así:
CSQL = "SELECT Numero, Fecha, DX " & _
             "FROM reconsulta " & _
             "WHERE Expediente =" & Trim(Text9.text)
Así puede quedar con una sola variable y no es necesario concatenar y yo creo que por ese lado esta tu error, cuando concatenas :
Sql8 = sql6 + sql7 ' Muchas veces arroja error ya que esta tratando de sumar y no de concatenar (NO SIEMPRE PASA ESTO) por lo mismo para evitar ese error uno concatena caracteres de la siguiente manera :
sql8 = sql6 & sql7
Todo esto son algunas sugerencias mientras espero que me digas la linea del error.
Bye.
Muchas gracias el error me lo daba en la siguiente linea:
rst1.Open sql8, cnn1, adOpenDynamic, adLockOptimistic
y ya cai en la cuenta de mi error os agradezco mucho tu consejo y lo probare, insisto gracias por tu ayuda. Bye

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas