Ayuda con mi programa de visual basic 6.0

Quisiera rectificar acerca de esta pregunta ya la había finalizado pero no lo había checado bien con esta codificación.
If buscando <> "" Then
Ya no manda error pero no realiza la búsqueda

Así que sigo preguntando lo mismo. Espero me puedan ayudar
Hola ojala me puedan ayudar con esto tengo un botón buscar en mi programa ligado a aun inputbox y esta es la codificación.
Private Sub Command2_Click()
buscado = InputBox("EL NUMERO DE ARTICULO A BUSCAR")
Data11.Recordset.FindFirst "NUMERO=" & "" & buscado & ""
If Data11.Recordset.NoMatch Then
MsgBox ("NO SE ENCONTRO EL REGISTRO")
Data11.Recordset.MoveLast
End If
fFunciona bien hasta que decido presionar el botón cancelar que se encuentra por default en el inputbox, ya que me manda este error.
Sintaxis error (missing operator) in expression.
Espero me puedan ayudar

1 respuesta

Respuesta
1
¿Indicame qué tipo de variable es buscar?
buscado = InputBox("EL NUMERO DE ARTICULO A BUSCAR")
if buscar="" then
  exit sub
end if
Data11.Recordset.FindFirst "NUMERO=" & "" & buscado & ""
If Data11.Recordset.NoMatch Then
MsgBox ("NO SE ENCONTRO EL REGISTRO")
Data11.Recordset.MoveLast
End If
Ya lo intente con el código que me pusiste abajo pero sigue igual no realiza la búsqueda
y buscado pues es el que se le asigna ala búsqueda no esta especificado que sea de ningún tipo pero también ya lo había intentado de esta forma asignándole un tipo a buscado
con el dim buscado, criterio as byte
buscado=inputbox("que código quieres buscar")
Y me menada el error
type mismatch
Ey pero lógicamente tienes que indcarle un tipo básicamente string, para que te funcinoe lo que te mande si no no lo ara, ahora no puede ser de cualquier tipo porque en tu BD estoy seguro que le has definido uno, ahora el tipo que crees tiene que acaer referencia este nuevo
Mira en mi base de datos esta definido el campo numero como byte que es al que se le esta asignando la variable buscado entonces buscado por lo tanto es tipo byte pero como te comentaba lo realize también con esta codificación y
private sub buscar
dim buscado,criterio as byte
buscado=inputbox("numero a buscar")
criterio="numero"*" &buscado& "*"
data11.recordset.findfirst criterio
if data11.recordset.nomatch then
msgbox("no se encontro el registro")
data11.recordset.movelast
Endif
ensub
Bueno esto es lo que tenia anteriormente y tampoco funciono me manda el error de typemismatch
porque no lo pruebas con string?
Ya lo hice y en lugar de el campo código que es byte le puse el campo nombre que es de tipo text. Con string
pero me sigue mandando el mismo error mismatch type
por eso te decía que ya lo había intentado de muchas formas estoy atorado ahí porque no puedo hacer mi programa exe con ese error. Si le das aceptar como estaba al principio me realiza la búsqueda sin ningún problema, el problema empieza cuando le doy cancelar o le doy en el botón cerrar de la esquina de el cuadro de dialogo.
Ya lo intente en modo exe porque pensé que ya corriéndolo bien ya no iva a mandar el error pero no, sale lo mismo. Y es que tengo un manual donde viene la codificación de ese botón
y esta igual a como lo tenia en un principio.
Bueno la verdad es muy raro lo que te pasa es algo muy simple pero al no ayarle otra solución, pues entonces no uses el InputBox crea una pantallita simulándolo y listo en el cancelar solo le pones Unlod Me
Sabes antes que nada te pido una disculpa porque  la segunda solucion que me diste de
el
if buscar="" then
endif
exit sub
esa era la correcta pero 2 cosas  estaban mal la primera era que yo lo copie tal y como me lo pusiste y no era  buscar= era buscado por eso no busco nada.
Y la segunda era que mi data era data1 no data 11
por eso tampoco realizaba la búsqueda.
Siento mucho haberte echo perder tu tiempo. Y te agradezco mucho tu solución ya que si estaba bien
gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas