Visual Basic - consulta sql

Life is soft - evento anual de software empresarial
   
Vista:

consulta sql

Publicado por maria (11 intervenciones) el 23/10/2008 16:16:37
hola me gustaria si me pudieran ayudar en una consulta sql
para buscar por un medicamento...
yo tengo el sgte codigo:

Private Sub Commandmedicamento_Click()
Set baseTB = OpenDatabase(App.Path & "ase de datosd1.mdb")
sbuscar = "select * from farmacos order by medicamentoasc"
Set trs = baseTB.OpenRecordset(sbuscar, dbOpenSnapshot)

With trs
If (.BOF And .EOF) Then
MsgBox "este MEDICAMENTO no esta en la base de datos"
Else
ListView1.ListItems.Clear
.MoveFirst
Do While Not .EOF()
If Text8.Text = trs!medicamento Then
Set tli = ListView1.ListItems.Add(, , .Fields("Codigo") & "")
tli.SubItems(1) = .Fields("Fecha") & ""
tli.SubItems(2) = .Fields("Guia") & ""
tli.SubItems(3) = .Fields("Proveedor") & ""
tli.SubItems(4) = .Fields("Cantidad") & ""
tli.SubItems(5) = .Fields("Devolucion") & ""
tli.SubItems(6) = .Fields("Presentacion") & ""
tli.SubItems(7) = .Fields("Medicamento") & ""
tli.SubItems(8) = .Fields("Farmacia") & ""
tli.SubItems(9) = .Fields("Trapi") & ""
tli.SubItems(10) = .Fields("Vivanco") & ""
tli.SubItems(11) = .Fields("Crucero") & ""
tli.SubItems(12) = .Fields("Cayurruca") & ""
tli.SubItems(13) = .Fields("Mantilhue") & ""
tli.SubItems(14) = .Fields("Futahuente") & ""
tli.SubItems(15) = .Fields("Carimallin") & ""
tli.SubItems(16) = .Fields("Sector1") & ""
tli.SubItems(17) = .Fields("Sector2") & ""
tli.SubItems(18) = .Fields("Sector3") & ""
tli.SubItems(19) = .Fields("Procedimiento") & ""
tli.SubItems(20) = .Fields("ClinicasDentales1") & ""
tli.SubItems(21) = .Fields("ClinicasDentales2") & ""
tli.SubItems(22) = .Fields("ClinicasDentales3") & ""
tli.SubItems(23) = .Fields("ClinicasDentales4") & ""
tli.SubItems(24) = .Fields("IRA") & ""
tli.SubItems(25) = .Fields("ERA") & ""
tli.SubItems(26) = .Fields("SalaMotora") & ""
tli.SubItems(27) = .Fields("Prestamos") & ""
tli.SubItems(28) = .Fields("Saldo") & ""
tli.SubItems(29) = .Fields("Inventario") & ""
.MoveNext
Else
.MoveNext
End If
Loop
End If
End With
End Sub

pero lo que pasa es q ni siquiera me busca nada...

agradesco su comprension y de su ayuda

Saludos
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:consulta sql

Publicado por quique (85 intervenciones) el 23/10/2008 18:15:05
.. y para qué seleccionas todos los registros si solamente quieres buscar los que el campo medicamento coincida con el Text8?

además ese código está demasiado 'enredao', te lo pongo mas cortito:

Set baseTB = OpenDatabase(App.Path & "ase de datosd1.mdb")
sbuscar = "select * from farmacos where medicamento = '" & Text8.Text & "'"
Set trs = baseTB.OpenRecordset(sbuscar, dbOpenSnapshot)
If trs.RecordCount = 0 Then
MsgBox "este MEDICAMENTO no esta en la base de datos"
Exit Sub
End If
With ListView1
.ListItems.Clear
Do Until trs.EOF = True
Set Item = .ListItems.Add(, , trs(0) & "")
For i = 1 To .ColumnHeaders.Count - 1
Item.SubItems(i) = trs.Fields(i) & ""
Next
trs.MoveNext
Loop
End With

Un saludo Maria Ivonne
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:consulta sql

Publicado por maria (11 intervenciones) el 23/10/2008 19:36:50
ok muchas gracias

no me llamo ivonne por si acaso
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:consulta sql

Publicado por maria (11 intervenciones) el 23/10/2008 20:07:15
hola
para hacer una consulta sql pero para busqueda por fecha
es lo mismo o tengo que cambiar a algo asi

Set baseTB = OpenDatabase(App.Path & "ase de datosd1.mdb")
sbuscar = "select * from farmacos where fecha= ('01/12/2008') and ('31/12/2020')"
Set trs = baseTB.OpenRecordset(sbuscar, dbOpenSnapshot)
If trs.RecordCount = 0 Then
MsgBox "esta FECHA no esta en la base de datos"
Exit Sub
End If
With ListView1
.ListItems.Clear
Do Until trs.EOF = True
Set Item = .ListItems.Add(, , trs(0) & "")
For i = 1 To .ColumnHeaders.Count - 1
Item.SubItems(i) = trs.Fields(i) & ""
Next
trs.MoveNext
Loop
End With

agradesco su ayuda

saludos
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:consulta sql

Publicado por igor (633 intervenciones) el 23/10/2008 20:22:13
Saludos Maria:

A lo sumo lo que estarías diciendo en esa consulta SQL es que busque los regisros con fechas 01/12/2008 y 31/12/2020, únicamente de esos 2 días exactamente. Aunque ni siguiera eso estaría bien. Seria:

sbuscar = "select * from farmacos where fecha= ('01/12/2008') and fecha= ('31/12/2020')"

Para buscar todas las fechas entre dichas sería:

sbuscar = "select * from farmacos where fecha>= ('01/12/2008') and fecha<= ('31/12/2020')"

Aunque puede que las fechas no estén corretamente escritas, ya que se suele poner algo como:

sbuscar = "select * from farmacos where fecha>=#'01/12/2008# and fecha<=#31/12/2020#"

Espero que te haya servido para entender SQL que es un lenguaje diferente a VBasic.
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:consulta sql

Publicado por maria (11 intervenciones) el 23/10/2008 20:24:44
ok muchiiiiiiiiiiiiiiiiiiiiiiiiiisimas gracias
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:consulta sql

Publicado por quique (85 intervenciones) el 23/10/2008 22:50:02
Bueno, bueno....
el pardillo este ha leido algo y no sabe por donde van los tiros...

dice: "ya que se suele poner algo como"

NO SE SUELE, SE PONE, PERO UNICAMENTE CUANDO LA BASE DE DATOS ES ACCESS.

¿conoces la clausula BETWEEN de SQL (Structured Query Language ) ??

y voy mas allá ¿conoces algo de manejar bases de datos, mediante Visual Basic y lenguaje estructurado?

me repatean los tios que copian otras respuestas (sin entenderlas) y las dan como suyas (sin saber lo que dicen).

tio... dedícate a otra cosa, esto no es lo tuyo!!!
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:consulta sql

Publicado por igor (633 intervenciones) el 24/10/2008 19:08:41
Quique, tienes un apoco familiar, aunque creo que no eres la misma persona ya que tu por lo menos aportas algo, aunque sea con malas pulgas.

Entiendo que dudes sobre mis conocimientos, no me conoces. Se lo que es SQL y también lo que es un lenguaje estructurado. Aunque Visual Basic no es precisamente muy estructurado, ni muy orientado a objetos. Es un lenguaje bastante peculiar, deribado del Basic (también se lo que significa ese nombre).

Si no estoy seguro de algo, procuro no afirmar rotundamente, ya que como bien indicas se usa en Access y existen variantes de SQL que desconozco. No existe referencia al motor de DB, pero lo normal suele ser Access.

También te diré que yo no copio otras respuestas, y en los casos en los que lo hago siempre indico el autor original del tema, o por lo mentos la referencia más reciente.

Parece que tenías ganas de insultar a alguien, y entre otros muchos me ha tocado a mi. Espero que para la próxima te informes un poco sobre los que participamos y así gritarás a quien se lo merece, que los tienes a patadas.
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:consulta sql

Publicado por pacopaz (173 intervenciones) el 24/10/2008 19:40:42
Se llama: tener clase.
Y simplemente se tiene o no.

Saludos Igor.
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:consulta sql

Publicado por quique (85 intervenciones) el 24/10/2008 22:09:43
Mira quien fué a hablar, el que mas clase tiene en el foro, que en el 99% de sus respuestas no ha acertado ni una. Tio, no juegues a la lotería, porque lo de acertar no es lo tuyo!

y pàl otro listillo, ahora vas y me explicas lo de 'deribado' ¿no será que te falta una erre, que significa que te caiste del burro?
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