Visual Basic Foro
Programación => Bases de Datos => Mensaje iniciado 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.
-
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:
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.
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.
-
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.
-
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!!!!