Programación General > Bases de Datos

 Please Ayudenme

(1/3) > >>

coriatj:
hola mi problema es:

tengo una base de datos y dos tablas en ella, kiero en visual basic poder preguntar una matricula de mi alumno y ke de una tabla kon esta matricula me mande unos datos y ke de la otra tabla me mande los otros datos...  como es el codigo alguien puede ayudarme?  

en la forma tengo:

                TXTMATRICULA.Text
                TXTNOMBRE.Text
                TXTPATERNO.Text
                TXTMATERNO.Text
                TXTGRUPO.Text
                 **** estos los mando a llamar de una tabla
                txtmes
                txtmstatus
                  ****  estos dos ultimos los mando a llamar de otra tabla

ambas tablas tienen el campo matricula con este campo es komo las kiero relacionar..
 



les mando este pedaso de codigo ke ya tengo y les adjunto el archivo de mi programa tambien...  gracias




Private Sub CMDBUSCAR_Click()
If TXTBUSCAR.Text = "" Then
        MsgBox "Escribe el codigo a buscar", vbInformation
        Exit Sub
    End If
    With Data1
        .Recordset.MoveFirst
        For X = 0 To .Recordset.RecordCount - 1
           If Data1.Recordset!MATRICULA & "" = TXTBUSCAR.Text Then
                TXTMATRICULA.Text = .Recordset!MATRICULA & ""
                TXTNOMBRE.Text = .Recordset!NOMBRE & ""
                TXTPATERNO.Text = .Recordset!AP_PATERNO & ""
                TXTMATERNO.Text = .Recordset!AP_MATERNO & ""
                TXTGRUPO.Text = .Recordset!GRUPO & ""
            End If
        .Recordset.MoveNext
        Next X
       
    End With
   
End Sub

ArKaNtOs:
no he descargado el archivo que adjuntaste pero porque no haces un findfirst:

data1.recordsource = "mitabla"
data1.recordset.findfirst "Matricula='" & txtbuscar & "'"
if data1.recordset.nomatch then
   msgbox "no se encontro resultado"
else
  msgbox "hola :P"
end if

o si estas usando un dbgrid para mostrar la tabla por ejemplo puedes hacer un query con el evento change de tu textbox :P algo asi

data1.RecordSource = "SELECT * FROM mitabla WHERE Matricula LIKE  '" & txtbuscar & "*'"
data1.refresh :P
espero haberte ayudado

F_Tanori:

--- Cita de: "coriatj" ---les mando este pedaso de codigo ke ya tengo y les adjunto el archivo de mi programa tambien...  gracias


--- Fin de la cita ---
Adjuntaste el puro proyecto, pedazo es con Z y es que no ke etc.. :P

es sencillo mira tu base de datos debe de estar asi

Tabla: Alumnos
MATRICULA
NOMBRE
PATERNO
MATERNO
GRUPO

Tabla: Otros_Datos
MATRICULA
MES
STATUS

Debes de tener el campo de la matricula para poder relacionar...
entonces puedes buscar por SQL


--- Código: Text --- Option Explicit Private Sub Command1_Click()Dim ls_Matricula As String, ls_SQL As String        ls_Matricula = Trim(txtBuscar)        ls_SQL = "SELECT alumnos.matricula,alumnos.nombre,alumnos.paterno,alumnos.materno,alumnos.grupo,otros_datos.mes,otros_datos.status "    ls_SQL = ls_SQL & "FROM Alumnos,Otros_Datos WHERE Alumnos.Matricula=Otros_Datos.Matricula and Alumnos.Matricula='" & ls_Matricula & "'"            With Me.Data1        Set .Recordset = .Database.OpenRecordset(ls_SQL, dbOpenDynaset)                  'Evitar que Falle el RecorCount :P        '====================================        .Recordset.MoveLast        .Recordset.MoveFirst        '====================================                If .Recordset.RecordCount > 0 Then            TXTMATRICULA.Text = .Recordset!MATRICULA            TXTNOMBRE.Text = .Recordset!NOMBRE            TXTPATERNO.Text = .Recordset!PATERNO            TXTMATERNO.Text = .Recordset!MATERNO            TXTGRUPO.Text = .Recordset!GRUPO       Else            MsgBox ("No matricula no encontrada")       End If    End WithEnd Sub  
Suerte!

coriatj:
hola  gracias a ambos por sus consejos y las correcciones a la ortografia...  

F_Tanori me marca un error a la hora de querer  implementar el codigo que me pasaste este es el error


run-time error '3061':

too few parameters. expected 5.

este es el error que me marca   pudieras  ayudarme nuevamente  gracias

coriatj:
F_Tanori   NO TE DIJE EN KE LINEA  ME MARCA EL ERROR....  SORRY ES EN ESTA

Set .Recordset = .Database.OpenRecordset(ls_SQL, dbOpenDynaset)


GRACIAS

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa