Visual Basic para Aplicaciones - Tecnólogo

Life is soft - evento anual de software empresarial
 
Vista:

Tecnólogo

Publicado por Jaime Augusto Rúa Peláez (2 intervenciones) el 12/10/2000 00:00:00
Hola
Mi consulta es la siguiente, tengo una base de datos en access 97 con varias tablas,
quiero realizar una consulta sobre una de ellas, pidiendole al usuario que digite parte del texto a buscar, que debo hacer para que cuando el usuario al presionar el botón buscar, el programa me llene un dbgrid y me muestre los datos en el formulario con el resultado de la consulta. El codigo que tengo es el siguiente:
Private Sub Buscar_Criterio1()
If TxtNombre.Text = "" Then
MsgBox "Falta Ingresar el Nombre de la Materia", vbCritical, "Consultar Materias"
TxtNombre.SetFocus
Exit Sub
End If
Dim NewDyn As Recordset
Set NewDyn = db.OpenRecordset("Select * From Mateulti", dbOpenDynaset)
NewDyn.FindFirst "Nombre_m = ´" & TxtNombre.Text & "´"
NewDyn.Filter = "Nombre_m = ´" & TxtNombre.Text & "´"
NewDyn.Sort = "Nombre_m"
... ?
End Sub
he tratado de hacerlo a través de los Recordset, pero no funciona.
Me seria de mucha ayuda todo lo que puedan ofrecerme sobre consultas en vb 5.0 Gracias.
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

RE:Tecnólogo

Publicado por tecniCam (10 intervenciones) el 12/10/2000 00:00:00
Me parece que sobra el FindFirst, porque sólo busca el primero.
Prueba por aquí:
Private Sub cmdListar_Click()
On Error GoTo miError

If marca = False Then Exit Sub

If hayReg = True Then
DataReSocios.UpdateRecord
DataReSocios.Recordset.Bookmark = DataReSocios.Recordset.LastModified
hayReg = False
End If

Dim consultaLis As QueryDef
Dim datosLis As Recordset ´´" + aqui(0).Text + "´ And ´" + aqui(1).Text + "´;
Set consultaLis = miDB.CreateQueryDef("dali", "SELECT * From ReSocios WHERE reciboNum >=´" + aqui1.Text + "´;")
Set datosLis = miDB.OpenRecordset("dali")
DaLis.RecordSource = "dali"
DaLis.Refresh

totaliza

GoTo fin
miError:
´Err.Clear ´Desactiva el control de errores
If Err.Number <> 0 Then
If Err.Number = 3314 Then GoTo fin
Dim Msg$
Msg = "Error # " & Str(Err.Number) & " se generó en LISTAR por " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msg, , "Error", Err.HelpFile, Err.HelpContext
End If
Err = 0
fin:
Err = 0
On Error GoTo 0
End Sub
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

RE: II Tecnólogo

Publicado por tecniCam (10 intervenciones) el 12/10/2000 00:00:00
Private Sub totaliza()
On Error GoTo miError

Dim uno, dos, tres, cuatro, cinco, seis
Dim uno1, dos1, tres1, cuatro1, cinco1, seis1
Dim lUno, lDos, lTres, lCuatro, lCinco, lSeis
Dim sp1, sp2, sp3, sp4, sp5, sp6
cinco = 0
seis = 0

Lista.Cls
DaLis.Refresh
Lista.Print Tab
Lista.Print Spc(1); "Recibo Nº"; Spc(3); "idSocio"; Spc(5); "Fecha"; Spc(3); "Pesetas"
Lista.Print Tab

DaLis.Recordset.MoveFirst
Do While Not DaLis.Recordset.EOF
uno = DaLis.Recordset("reciboNum")
dos = DaLis.Recordset("idSocio")
tres = DaLis.Recordset("Expedición")
cuatro = DaLis.Recordset("Ptas")
cinco = cinco + 1
seis = seis + cuatro
uno1 = Format(uno, "#,##0")
lUno = Len(uno1)
sp1 = 10 - lUno
dos1 = Format(dos, "#,##0")
lDos = Len(dos1)
sp2 = 10 - lDos
tres1 = Format(tres, "#,##0")
lTres = Len(tres1)
sp3 = 10 - lTres
cuatro1 = Format(cuatro, "#,##0")
lCuatro = Len(cuatro1)
sp4 = 10 - lCuatro
Lista.Print Spc(sp1); uno1; Spc(sp2); dos1; Spc(sp3); tres1; Spc(sp4); cuatro1; Tab
rev:
If Not DaLis.Recordset.EOF Then DaLis.Recordset.MoveNext
If DaLis.Recordset.EOF Then
Exit Do
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

RE: y III Tecnólogo

Publicado por tecniCam (10 intervenciones) el 12/10/2000 00:00:00
End If
If DaLis.Recordset("idSocio") = "S0000" Then GoTo rev
Loop
cinco1 = Format(cinco, "0")
lCinco = Len(cinco1)
sp5 = 3 - lCinco
seis1 = Format(seis, "#,##0")
lSeis = Len(seis1)
sp6 = 10 - lSeis
Lista.Print Tab
Lista.Print "__________________________________________"
Lista.Print Spc(2); "Recibos: "; Spc(sp5); cinco1; Spc(6); "Suma Total:"; Spc(sp6 - 1); seis1; Tab

´´miDB.DeleteQueryDef ("dali")

GoTo fin
miError:
´Err.Clear ´Desactiva el control de errores
If Err.Number <> 0 Then
If Err.Number = 3314 Then GoTo fin
Dim Msg$
Msg = "Error # " & Str(Err.Number) & " se generó en TOTALIZA por " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msg, , "Error", Err.HelpFile, Err.HelpContext
End If
Err = 0
fin:
Err = 0
On Error GoTo 0
End Sub
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