Programación General > Visual Basic 6.0 e inferiores
Problema Con El Buscador Que He Creado
(1/1)
sr.dav:
Hola a todos!!!
Soy un poco novato en esto del visual y estoy realizando una aplicancion con bases de datos, en la cual realizo un buscador dentro de una tabla. Pero no consigo q me busque nada ya q cuando le doy a buscar me sale el siguiente error "-2147217913 No coinciden los tipos de datos en la expresion de criterios" pero no tengo ni idea donde esta el error y eso q revisao el programa mil veces, lo estado haciendo desde el f8 pero me quedado clavado, no lo consigo ver.
Haber si alguien me puedo ayudar porque yo soy incapaz de verlo, para hacerlo mas facil dejo el codigo aqui para q se entienda un poco la aplicacion:
--- Código: Text --- Public ssql As StringPublic mysql As StringPublic myrcs As RecordsetPublic cnn As ConnectionPublic rcs As RecordsetPublic datos As String Dim i As IntegerDim j As IntegerDim tablatype() As StringDim tablaname() As String Private Sub Command1_Click() CommonDialog1.CancelError = True On Local Error GoTo errhandler CommonDialog1.Flags = cdOFNHideReadOnly CommonDialog1.DialogTitle = "Escoge la base de datos que quieres utilizar" CommonDialog1.Filter = "Archivos de Microsoft Access" & "(*.mdb)|*.mdb|" CommonDialog1.FilterIndex = 2 CommonDialog1.ShowOpen datos = CommonDialog1.FileName Text1 = Empty abrir i = Empty Grid.Clear cbotabla.Clear cbocampo.Clear cbotabla.SetFocus Set vertabla = cnn.OpenSchema(adSchemaTables) ReDim Preserve tablaname(0) ReDim Preserve tablatype(0) Do While Not vertabla.EOF If vertabla!TABLE_TYPE = "TABLE" Then tablaname(i) = vertabla!TABLE_NAME i = i + 1 ReDim Preserve tablaname(i) End If vertabla.MoveNext Loop For j = 0 To i - 1 cbotabla.AddItem tablaname(j) Next j cnn.Close Exit Suberrhandler: MsgBox Err.Number & Err.Description Exit SubEnd SubPrivate Sub Command2_Click() Unload MeEnd SubPrivate Sub Command3_Click() buscaEnd SubSub busca() On Local Error GoTo tu Grid.Clear Grid.Cols = 1 Grid.Rows = 1 abrir ssql = "select * from " & cbotabla.Text If Trim(cbocampo.Text) <> "" And Trim(Text1.Text) <> "" Then ssql = ssql & " where " & cbocampo.Text & " = '" & Text1.Text & "'" End If Set rcs = New Recordset rcs.Open ssql, cnn If rcs.BOF Then Exit Sub rcs.MoveFirst With Grid .Clear .Cols = cbocampo.ListCount + 1 For p = 0 To cbocampo.ListCount - 1 .Row = 0 .Col = p + 1 .Text = rcs.Fields(p).Name Next p r = 1 Do While Not rcs.EOF .Rows = r + 1 .Row = r For p = 0 To cbocampo.ListCount - 1 .Col = p If IsNull(rcs(rcs.Fields(p).Name)) Then .Text = "nulo" Else .Text = rcs(rcs.Fields(p).Name) End If Next p r = r + 1 rcs.MoveNext Loop End With Set rcs = Nothing Exit Subtu: MsgBox Err.Number & Err.Description Exit SubEnd SubPrivate Sub cbocampo_GotFocus() On Local Error GoTo gg cbocampo.Clear mysql = "select * from " & cbotabla.Text abrir Set myrcs = New Recordset myrcs.Open mysql, cnn For m = 0 To myrcs.Fields.Count - 1 cbocampo.AddItem myrcs.Fields(m).Name Next m myrcs.Close Exit Subgg: MsgBox Err.Number & Err.Description myrcs.Close Exit SubEnd SubPublic Function abrir() On Local Error Resume Next cnn.Close: Set cnn = Nothing Set cnn = New Connection On Local Error GoTo licen cnn.Open ("provider = microsoft.jet.oledb.4.0;data source=" & datos) Exit Functionlicen: MsgBox Err.Number & Err.Description Exit FunctionEnd FunctionPrivate Sub Form_Unload(Cancel As Integer) On Local Error Resume Next cnn.Close: Set cnn = Nothing rcs.Close: Set rcs = Nothing myrcs.Close: Set myrcs = NothingEnd Sub
Gracias de antemano
Abhero:
Que tipo de datos estas usando?
Cuando se buscan valores numericos comparados con un textbox hay que usar Val(nombretextbox) esa "puede ser" una de las causas por las cuales no te resulta.
tambien seria bueno que miraras exactamente en que linea de codigo se detiene el programa y asi es mas facil identificar el problema.
Recuerdos,
Ab. :hola:
sr.dav:
ya he conseguido ver el error se tenian q quiatar las comillas, ya q estoy buscando un numerico, tiene q quedar asi:
--- Código: Text --- ssql = ssql & " where " & cbocampo.Text & " = " & Text1.Text & ""
gracias por la ayuda!!!
saludos!!!
Sagutxo:
ups.
Navegación
Ir a la versión completa