Hola, es la primera vez que escribo en este foro asi que disculpen si cometo errores, hice un formulario para buscar registros en una base de datos de access y mostrar en un msflexgrid a los que coincidan con los criterios de búsqueda, el problema es que cuando quiero buscar un cliente segun el número de cliente me tira el siguiente error: " Error 3075 en tiempo de ejecución: Error de sintaxis (falta operador) en la expresión de consulta 'Número de cliente = 1 '.
El código es el siguiente:
Private Sub Command1_Click()
If Option1 = True Then
Data1.RecordSource = "select * from Socios where Apellido = '" & Text1 & "'"
Data1.Refresh
If Data1.Recordset.EOF Then
MsgBox "El apellido : '" & Text1 & "'" & " No está en la Base de Datos", vbExclamation, "¡Por Favor Revisa el apellido!"
Text1 = ""
Text1.SetFocus
End If
ElseIf Option2 = True Then
Data1.RecordSource = "select * from Socios where Número de cliente = " & Val(Text1)
Data1.Refresh
If Data1.Recordset.EOF Then
MsgBox "El número de cliente : '" & Text1 & "'" & " No está en la Base de Datos", vbExclamation, "¡Por Favor Revisa el número de cliente!"
Text1 = ""
Text1.SetFocus
End If
Private Sub Option1_Click()
If Option1 = True Then
Label2.Visible = True
Label2.Caption = "Introduce el apellido que buscas"
Text1.Visible = True
Text1 = ""
Text1.SetFocus
End If
End Sub
Private Sub Option2_Click()
If Option2 = True Then
Label2.Visible = True
Label2.Caption = "Introduce el número de cliente que buscas"
Text1.Visible = True
Text1 = ""
Text1.SetFocus
End If
End Sub
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 300
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 2100
MSFlexGrid1.ColWidth(3) = 2500
MSFlexGrid1.ColWidth(4) = 1000
Label2.Visible = False
Text1.Visible = False
End Sub
El programa funciona de esta forma: Yo selecciono si busco según el número de cliente o el apellido del socio mediante los option button, una vez que los seleccione tengo que escribir en el text1 lo que deseo buscar y presionar el botón buscar (command1), al hacer esto me tienen que aparecer en el msflexgrid los registros que coinciden con lo que escribi en el text1.
El problema lo tengo al seleccionar el option 1 y buscar el número de cliente (que es un campo tipo número), pero si busco según el apellido (campo tipo texto) no tengo ningun problema. ¿Estoy cometiendo algún error de sintaxis al buscar el número de cliente?. Espero que puedan ayudarme, desde ya se los agradezco.