Visual Basic Foro

Programación => Bases de Datos => Mensaje iniciado por: fernandos85al@hotmail.com en Febrero 07, 2011, 06:12:21 pm

Título: Problema con Consultas sql + ado + vb6
Publicado por: fernandos85al@hotmail.com en Febrero 07, 2011, 06:12:21 pm
Hola gente, muy buenas tarde... tengo un problema, tengo un programita que realiza consultas a una base de datos de access, mediante Sql, y ado(2.0), el problema es que tengo algo como esto:

IdAlumno:          Apellido:     Nombre:      Documento:
001                    Gonzalez    Agustina      36256417
002                    Perez         Pepito          21885962
003                    Ascierto      Leandro       25554234
004                    Ascierto      Pedro           21002589

A modo de ejemplo, lo coloco..

Si ejecuto una consulta y como dato ingreso el Documento, por ejemplo,  deberia darme el Apellido, Nombre, etc..(esta acac va bien)

El problema se me presenta aca..

Si Ejecuto una consulta y como dato ingreso el Apellido, me devuelve El documento, u tor dato.. (esta aca va bien)

Pero se existieran, por ejemplo     dos personas con identico apellido y nombre (en el ejemplo Leandro ascierto, se repite) pero tienen distintos Documentos..

Lo que hago, es agregar Apellido='Ascierto' and Nombre='Leandro' (aca me da un error)


dejo un ejemplo ya hecho, pero si alguien ve el error, cosa que no veo hasta ahora..


http://www.ziddu.com/download/13714540/Colegio.rar.html

y dejo el link de un programita que se llama Thinstall, que sirve para poder usar programas que normalmente se instalan y que con erste se pueden hacer 'Portables' para llevar en un pendrive, por ejemplo.
si alguien le sirve..

http://www.ziddu.com/download/13437827/Thinstall.VS.zip.html

lo dejo con animos de colaborar con este for, y con su gente, tratando de ayudar, o devolver algo , ya que siempre o casi siempre me sacan de apuros aqui..
(no se si va en este lugar, sino avisen o muevanlo)

saludos, y mil gracias por adelantado.







Título: Re:Problema con Consultas sql + ado + vb6
Publicado por: fernandos85al@hotmail.com en Febrero 08, 2011, 08:53:01 pm
Hola gente, creo que me extendi demasiado, y no me exprese muy bien..
mi consulta es..¿Como puedo usar en una consulta sql, con una condicion where el 'And', 'Or', etc..
en el caso de and, si pongo una consulta que busque datos alumnos, por ejemplo y lo que ingreso es el Apellido y el nombre de un alumno, me queda algo asi:

Código: [Seleccionar]
ConsultarAlumnos="Select IdAlumnos, Documento from Alumnos where Apellido='Ascierto' And Nombre='Pedro'
(esa creo que seria la forma mas correcta, (q me corrijan si me equivoco), pero el tema es si a el apellido y al nombre los ingreso mediante dos textbox?
Escribia esto:
ConsultarAlumnos="Select IdAlumnos, Documento from Alumnos where Apellido=" & "'" & txtApellido.text & "'" And "Nombre="  & _
"'" & txtNombre.text & "'"

me da error, dice que no coinciden los tipos.. solo puedo hacerlo si escribo esto:

ConsultarAlumnos="Select IdAlumnos, Documento from Alumnos where Apellido=" & "'" & txtApellido.text & "'"





cual sera el error???

si quieren les dejo el codigo del ejemplo que deje anteriormente, para que no desconfien..
aca lo dejo:

En un formulario agregar:
1- Referencia a ADO 2.0 , O SUPERIOR
3- Textbox
4-Labels
1-Timer
2- OptionButtons
2-CommandButtons
 
Para la base de datos de acces:
1- Tabla llamada: 'Alumnos'
con los campos:
A- IdAlumno
B-Apellido
C-Nombre
D-Documento

Cargar algunos de ejemplo, para poder usar.

Código: [Seleccionar]

Dim Cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim xPath As String
Private Sub cmdBuscar_Click()


Set Cnn = New ADODB.Connection
Cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\colegio\bd1.mdb;Persist Security Info=False; Jet OLEDB:Database Password = Alumnos"
Cnn.Open

Set rs = New ADODB.Recordset


Select Case Option1(Index)
Case 0



ConsultaPorDocumento = "Select *from Alumnos Where Documento='" & Text3.Text & "'"
rs.Open ConsultaPorDocumento, Cnn, adOpenStatic, adLockOptimistic

MsgBox "El Nº de documento pertenece a:" & vbCrLf & rs(1) & "," & rs(2), vbInformation + vbOKOnly

Case 1
ConsultaPorDocumento = "Select *from Alumnos Where Apellido=" & "'" & Text1.Text & "'" And "Nombre=" & "'" & Text2.Text & "'"
rs.Open ConsultaPorDocumento, Cnn, adOpenStatic, adLockOptimistic

MsgBox rs(1)


End Select


End Sub

Private Sub cmdCancelar_Click()
End
End Sub

Private Sub Option1_Click(Index As Integer)
Select Case Option1(Index).Index
Case 0
Text1.Enabled = True
Text2.Enabled = True
Text1.SetFocus
Text3.Enabled = False
Case 1
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = True
Text3.SetFocus
End Select
End Sub




si alguien encuentra el error, le pago un asado, si es de argentina..

muchas gracias de antemano, a todas y a todas.

saludos cordiales.
Título: Re:Problema con Consultas sql + ado + vb6
Publicado por: YAcosta en Febrero 09, 2011, 01:05:53 am
Cambia esto:
Escribia esto:
ConsultarAlumnos="Select IdAlumnos, Documento from Alumnos where Apellido=" & "'" & txtApellido.text & "'" And "Nombre="  & _
"'" & txtNombre.text & "'"

Por esto:
ConsultarAlumnos="Select IdAlumnos, Documento from Alumnos where Apellido= '" & txtApellido.text & "' And Nombre= '"  & _
 txtNombre.text & "'"

No debería darte error de tipo.
Título: Re:Problema con Consultas sql + ado + vb6
Publicado por: fernandos85al@hotmail.com en Febrero 10, 2011, 10:23:45 am
Hola YvanB, Mil gracias por tomarte el tiempo, y sacarme esa duda!!! Te pagare un asado como dije!! o lo que prefieras... Te estoy muy agradecido!!!


Salduos cordiales!!!!