Access + Visual Basic

21/11/2006 - 18:46 por ccm1714 | Informe spam
Hola a todos,
tengo hecha una base de datos en access y ahora quiero implementar 1
solo formulario con una ficha con tres pestañas

En una pestaña tengo los datos principales, en la otra fáramacos de un
sujeto, y el la tercera observaciones

He logrado poner los datos en la primera pestaña i unos botones para
desplazarser por los identificadores y que me vayan saliendo distintos
datos de distintas personas.

Problema:
Cómo hago para que en la pestaña segunda me salgan los fármacos?

A mi modo de entender, y tenidendo conocimientos de php, tendría que
hacer una consulta a la bd (que supuestamente ya hago bién) y hacer un
while para mostrar todos los fármacos, no?

Pero dónde lo pongo? He probado immediatamente después de la consulta de
la primera pestaña pero no hay forma

Tengo una función llamada carregarbd dónde:

Dim Conn As New ADODB.Connection
Dim Cmd As New ADODB.Command
Dim AuxStr As String 'select datos generales
Dim Resposta As Boolean

On Error GoTo Err1
AuxStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security
Info=False;"
AuxStr = AuxStr & "Data Source = " & PATH_BBDD

Conn.ConnectionString = AuxStr
Conn.Open

Cmd.CommandType = adCmdText
Cmd.ActiveConnection = Conn


AuxStr = "SELECT tjugadors.id_jugador, tjugadors.nom,
tjugadors.cognom1, tjugadors.cognom2, tjugadors.telf, tjugadors.mobil,
tjugadors.correu, tjugadors.data_n, tjugadors.fumador,
tjugadors.alcohol, tjugadors.diabetis, tjugadors.intol,
tjugadors.restre, tjugadors.hta, tjugadors.celiac FROM tjugadors WHERE
tjugadors.id_jugador = " & CStr(IdJugador)
Rs.Open AuxStr, Conn, adOpenKeyset, adLockOptimistic 'retorna registres

If Rs.RecordCount > 0 Then
Rs.MoveFirst
FrmInici.TxtIdJugador.Text = Rs.Fields(0).Value
FrmInici.TxtNomJugador.Text = Rs.Fields(1).Value
FrmInici.TxtCognom1.Text = Rs.Fields(2).Value
FrmInici.TxtCognom2.Text = Rs.Fields(3).Value
FrmInici.TxtTelf.Text = Rs.Fields(4).Value
FrmInici.TxtMobil.Text = Rs.Fields(5).Value
FrmInici.TxtCorreu.Text = Rs.Fields(6).Value
FrmInici.TxtDataN.Text = Rs.Fields(7).Value
End If
Resposta = True


Gracias y saludos
 

Leer las respuestas

#1 neualex
21/11/2006 - 20:34 | Informe spam
Creo que estas usando VB6, este es un foro para VB.net
Con respecto a tu pregunta, no veo por ningun lado donde estes cargando
los farmacos para dicho paciente. Supongo que los farmacos lo tienes en
una tabla detalle para dicho paciente.
En caso de ser asi usa dos RecordSet, en el primero cargas los datos
del paciente que muestras en la ficha numero 1, asi como las
observaciones para la ficha 3.
Y, en el segundo carga los farmacos, lo recorres y llenas una ListBox
visualizando todos los farmacos para dicho paciente.
Ambos recordset, cargalos al mismo tiempo, no tienes porque hacerlo en
dos tiempos.
Si tienes complicaciones con esto, detalla tu pregunta.
Saludos.

ccm1714 wrote:
Hola a todos,
tengo hecha una base de datos en access y ahora quiero implementar 1
solo formulario con una ficha con tres pestañas

En una pestaña tengo los datos principales, en la otra fáramacos de un
sujeto, y el la tercera observaciones

He logrado poner los datos en la primera pestaña i unos botones para
desplazarser por los identificadores y que me vayan saliendo distintos
datos de distintas personas.

Problema:
Cómo hago para que en la pestaña segunda me salgan los fármacos?

A mi modo de entender, y tenidendo conocimientos de php, tendría que
hacer una consulta a la bd (que supuestamente ya hago bién) y hacer un
while para mostrar todos los fármacos, no?

Pero dónde lo pongo? He probado immediatamente después de la consulta de
la primera pestaña pero no hay forma

Tengo una función llamada carregarbd dónde:

Dim Conn As New ADODB.Connection
Dim Cmd As New ADODB.Command
Dim AuxStr As String 'select datos generales
Dim Resposta As Boolean

On Error GoTo Err1
AuxStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security
Info=False;"
AuxStr = AuxStr & "Data Source = " & PATH_BBDD

Conn.ConnectionString = AuxStr
Conn.Open

Cmd.CommandType = adCmdText
Cmd.ActiveConnection = Conn


AuxStr = "SELECT tjugadors.id_jugador, tjugadors.nom,
tjugadors.cognom1, tjugadors.cognom2, tjugadors.telf, tjugadors.mobil,
tjugadors.correu, tjugadors.data_n, tjugadors.fumador,
tjugadors.alcohol, tjugadors.diabetis, tjugadors.intol,
tjugadors.restre, tjugadors.hta, tjugadors.celiac FROM tjugadors WHERE
tjugadors.id_jugador = " & CStr(IdJugador)
Rs.Open AuxStr, Conn, adOpenKeyset, adLockOptimistic 'retorna registres

If Rs.RecordCount > 0 Then
Rs.MoveFirst
FrmInici.TxtIdJugador.Text = Rs.Fields(0).Value
FrmInici.TxtNomJugador.Text = Rs.Fields(1).Value
FrmInici.TxtCognom1.Text = Rs.Fields(2).Value
FrmInici.TxtCognom2.Text = Rs.Fields(3).Value
FrmInici.TxtTelf.Text = Rs.Fields(4).Value
FrmInici.TxtMobil.Text = Rs.Fields(5).Value
FrmInici.TxtCorreu.Text = Rs.Fields(6).Value
FrmInici.TxtDataN.Text = Rs.Fields(7).Value
End If
Resposta = True


Gracias y saludos

Preguntas similares