• Domingo 22 de Diciembre de 2024, 13:45

Autor Tema:  Problema Con El Buscador Que He Creado  (Leído 1402 veces)

sr.dav

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Problema Con El Buscador Que He Creado
« en: Miércoles 16 de Enero de 2008, 10:44 »
0
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
  1.  
  2. Public ssql As String
  3. Public mysql As String
  4. Public myrcs As Recordset
  5. Public cnn As Connection
  6. Public rcs As Recordset
  7. Public datos As String
  8.  
  9. Dim i As Integer
  10. Dim j As Integer
  11. Dim tablatype() As String
  12. Dim tablaname() As String
  13.  
  14. Private Sub Command1_Click()
  15.     CommonDialog1.CancelError = True
  16.     On Local Error GoTo errhandler
  17.     CommonDialog1.Flags = cdOFNHideReadOnly
  18.     CommonDialog1.DialogTitle = "Escoge la base de datos que quieres utilizar"
  19.     CommonDialog1.Filter = "Archivos de Microsoft Access" & "(*.mdb)|*.mdb|"
  20.     CommonDialog1.FilterIndex = 2
  21.     CommonDialog1.ShowOpen
  22.     datos = CommonDialog1.FileName
  23.     Text1 = Empty
  24.     abrir
  25.     i = Empty
  26.     Grid.Clear
  27.     cbotabla.Clear
  28.     cbocampo.Clear
  29.     cbotabla.SetFocus
  30.     Set vertabla = cnn.OpenSchema(adSchemaTables)
  31.     ReDim Preserve tablaname(0)
  32.     ReDim Preserve tablatype(0)
  33.     Do While Not vertabla.EOF
  34.         If vertabla!TABLE_TYPE = "TABLE" Then
  35.             tablaname(i) = vertabla!TABLE_NAME
  36.             i = i + 1
  37.             ReDim Preserve tablaname(i)
  38.         End If
  39.         vertabla.MoveNext
  40.     Loop
  41.     For j = 0 To i - 1
  42.         cbotabla.AddItem tablaname(j)
  43.     Next j
  44.     cnn.Close
  45.     Exit Sub
  46. errhandler:
  47.     MsgBox Err.Number & Err.Description
  48.     Exit Sub
  49. End Sub
  50. Private Sub Command2_Click()
  51.     Unload Me
  52. End Sub
  53. Private Sub Command3_Click()
  54.     busca
  55. End Sub
  56. Sub busca()
  57.     On Local Error GoTo tu
  58.     Grid.Clear
  59.     Grid.Cols = 1
  60.     Grid.Rows = 1
  61.     abrir
  62.     ssql = "select * from " & cbotabla.Text
  63.     If Trim(cbocampo.Text) <> "" And Trim(Text1.Text) <> "" Then
  64.         ssql = ssql & " where " & cbocampo.Text & " = '" & Text1.Text & "'"
  65.     End If
  66.     Set rcs = New Recordset
  67.     rcs.Open ssql, cnn
  68.     If rcs.BOF Then Exit Sub
  69.     rcs.MoveFirst
  70.     With Grid
  71.         .Clear
  72.         .Cols = cbocampo.ListCount + 1
  73.         For p = 0 To cbocampo.ListCount - 1
  74.             .Row = 0
  75.             .Col = p + 1
  76.             .Text = rcs.Fields(p).Name
  77.         Next p
  78.         r = 1
  79.         Do While Not rcs.EOF
  80.         .Rows = r + 1
  81.         .Row = r
  82.             For p = 0 To cbocampo.ListCount - 1
  83.                 .Col = p
  84.                 If IsNull(rcs(rcs.Fields(p).Name)) Then
  85.                     .Text = "nulo"
  86.                 Else
  87.                     .Text = rcs(rcs.Fields(p).Name)
  88.                 End If
  89.             Next p
  90.             r = r + 1
  91.             rcs.MoveNext
  92.         Loop
  93.     End With
  94.     Set rcs = Nothing
  95.     Exit Sub
  96. tu:
  97.     MsgBox Err.Number & Err.Description
  98.     Exit Sub
  99. End Sub
  100. Private Sub cbocampo_GotFocus()
  101.     On Local Error GoTo gg
  102.     cbocampo.Clear
  103.     mysql = "select * from " & cbotabla.Text
  104.     abrir
  105.     Set myrcs = New Recordset
  106.     myrcs.Open mysql, cnn
  107.     For m = 0 To myrcs.Fields.Count - 1
  108.         cbocampo.AddItem myrcs.Fields(m).Name
  109.     Next m
  110.     myrcs.Close
  111.     Exit Sub
  112. gg:
  113.     MsgBox Err.Number & Err.Description
  114.     myrcs.Close
  115.     Exit Sub
  116. End Sub
  117. Public Function abrir()
  118.     On Local Error Resume Next
  119.     cnn.Close: Set cnn = Nothing
  120.     Set cnn = New Connection
  121.     On Local Error GoTo licen
  122.     cnn.Open ("provider = microsoft.jet.oledb.4.0;data source=" & datos)
  123.     Exit Function
  124. licen:
  125.     MsgBox Err.Number & Err.Description
  126.     Exit Function
  127. End Function
  128. Private Sub Form_Unload(Cancel As Integer)
  129.     On Local Error Resume Next
  130.     cnn.Close: Set cnn = Nothing
  131.     rcs.Close: Set rcs = Nothing
  132.     myrcs.Close: Set myrcs = Nothing
  133. End Sub
  134.  
  135.  

Gracias de antemano

Abhero

  • Miembro MUY activo
  • ***
  • Mensajes: 137
    • Ver Perfil
    • http://www.myspace.com/abhero
Re: Problema Con El Buscador Que He Creado
« Respuesta #1 en: Miércoles 16 de Enero de 2008, 12:20 »
0
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:


El Optimista lo vio medio lleno.
El Pesimista lo vio medio vacío.
Los malos analistas a penas vieron el vaso.

sr.dav

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Problema Con El Buscador Que He Creado
« Respuesta #2 en: Viernes 18 de Enero de 2008, 09:36 »
0
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
  1.  
  2. ssql = ssql & " where " & cbocampo.Text & " = " & Text1.Text & ""
  3.  
  4.  

gracias por la ayuda!!!

saludos!!!

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Problema Con El Buscador Que He Creado
« Respuesta #3 en: Viernes 8 de Febrero de 2008, 20:43 »
0
ups.
Mi mujer tiene un físico bárbaro!!!. Einstein.