Visual Basic - Error 13 en tiempo de ejecusion no coinciden los tipos

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 10
Ha disminuido su posición en 4 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Error 13 en tiempo de ejecusion no coinciden los tipos

Publicado por Victor (6 intervenciones) el 20/02/2017 18:48:35
Buen día me podrian ayudar con el siguiente problema tengo una aplicacion conectada a microsoft access en la cual puedo cargar los datos pero a la hora de realizar una consulta me dice que los tipos de datos no coinciden a pesar de que en la base de datos esta en texto y en vb6 en string

Este es el codigo el error lo da en la consulta: miRecorset.Open "SELECT Nombre FROM usurios WHERE Nombre = '" And Buscar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Private Sub Command4_Click()
Dim miconec As ADODB.Connection
Set miconec = New ADODB.Connection
miconec.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Aeses01-dt003\datos\practica base de datos\BASE DE DATOS2.MDB;Persist Security Info=False"
miconec.Open
Dim miRecorset As ADODB.Recordset
Set miRecorset = New ADODB.Recordset
Set miRecorset = New ADODB.Recordset
Dim Buscar As String
 
 Buscar = Text1.Text
 MsgBox (CStr(Buscar))
 
 
 
 
If Text1.Text <> "" Then
miRecorset.ActiveConnection = miconec
miRecorset.CursorType = adOpenDynamic
miRecorset.LockType = adLockBatchOptimistic
 
          miRecorset.Open "SELECT Nombre FROM usurios WHERE Nombre = '" And Buscar
 
     'Text1.Text = miRecorset!Nombre
     Text2.Text = miRecorset!Apellido
     Text3.Text = miRecorset!codigo
     Text4.Text = miRecorset!telefono
 
     End If
 
'End If
miRecorset.Close
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 24
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Error 13 en tiempo de ejecusion no coinciden los tipos

Publicado por Bruno (11 intervenciones) el 20/02/2017 18:54:06
El error esta en la línea

miRecorset.Open "SELECT Nombre FROM usurios WHERE Nombre = '" And Buscar

debes cambiar And por & y cerrar la comilla simple.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 57
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Error 13 en tiempo de ejecusion no coinciden los tipos

Publicado por Darío (42 intervenciones) el 20/02/2017 19:06:50
tenes mal la consulta, abris una comilla y nunca la cerras. y en visual basic cuando queres armar una consulta de Sql que lleve tanto código como variables, tenes que cerrar comillas y agregar cosas con el &

Por ejemplo, "Select * From Clientes Where FechaAlta = '" & date & "'", después del = va una comilla simple, cerras las comillas dobles, pones & date que sería la fecha del sistema, luego un & con comillas dobles, una comilla simple para cerrar y una comilla doble de nuevo.

en tu caso:
miRecorset.Open "SELECT Nombre FROM usurios WHERE Nombre = '"'" por si no se ve, entre las dos comillas dobles van dos comillas simples, eso te buscaria los nombres que estén vacíos.

Por otro lado en ese select tenes un "And Buscar" no se entiene, o está de mas o " buscar" se tendria que llamar un campo de la base y te falta el "= " y un parametro, osea " and buscar = " & 2536 por ejemplo, no se entiende bien lo que estás haciendo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar