Access - como hacer...

 
Vista:

como hacer...

Publicado por Isa (4 intervenciones) el 25/06/2007 09:05:03
Hola! Disculpen las molestias!
Resulta que quiero utilizar unos datos concretos de la BD.
Tengo una tabla de nombre SINTSIST y otra de Nombre SINTOMAS
Tenia oensado en hacer lo siguiente, pero creo que no es correcto:

Una vez abierta la conexion y el recordset...

SQL= SELECT CodSint From SINTSIST where sistema= Sistema Nervioso Order by CodSint
rs=conn.execute(SQL)

SQL2= Select codigoSintoma, Nombre from Sintomas where CodigoSintoma= Cstr(rs!codSInt) order By codigoSintoma

rs2=conn.execute(SQL2)

Es decir, de la primera consulta quiero elegir los distintos codigos de ese determinado sistema.

Y en la consulta 2 quiero que me de el nombre de el sintoma que cincide con el codigo de la primera consulta...

No se si asi estaria bien, o como habria que hacerlo,

Por favor, me podrian orientar?
Muchas gracias de antemano
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
Imágen de perfil de Alejandro

Obtener nombres de síntomas por código de sistema nervioso

Publicado por Alejandro (4142 intervenciones) el 14/08/2023 18:15:25
¡Por supuesto, Isa! Estás en el camino correcto, pero la estructura del código necesita algunas correcciones para que funcione correctamente. Aquí está cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Dim conn As Object ' Objeto de conexión
Dim rs As Object   ' Objeto de recordset
Dim SQL As String  ' Consulta SQL
 
' Abre la conexión a la base de datos (asegúrate de haber configurado correctamente la conexión antes)
Set conn = CreateObject("ADODB.Connection")
conn.Open "tu_cadena_de_conexión_aquí"
 
' Consulta para obtener los códigos de SintSist
SQL = "SELECT CodSint FROM SINTSIST WHERE sistema='Sistema Nervioso' ORDER BY CodSint"
Set rs = conn.Execute(SQL)
 
' Recorre los resultados de la consulta
While Not rs.EOF
    ' Consulta para obtener el nombre del síntoma basado en el código de la primera consulta
    SQL2 = "SELECT codigoSintoma, Nombre FROM Sintomas WHERE CodigoSintoma='" & rs!CodSint & "'"
    Set rs2 = conn.Execute(SQL2)
 
    ' Comprueba si se encontraron resultados en la segunda consulta
    If Not rs2.EOF Then
        Debug.Print "Código Síntoma: " & rs!CodSint
        Debug.Print "Nombre Síntoma: " & rs2!Nombre
    End If
 
    rs2.Close
    Set rs2 = Nothing
 
    rs.MoveNext
Wend
 
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing

Este código ejecutará la primera consulta para obtener los códigos de SintSist para el sistema "Sistema Nervioso". Luego, recorrerá los resultados y para cada código de SintSist, ejecutará una segunda consulta para obtener el nombre del síntoma correspondiente de la tabla Sintomas.

Asegúrate de reemplazar "tu_cadena_de_conexión_aquí" con la cadena de conexión real a tu base de datos.

Recuerda que este es solo un ejemplo, y puedes ajustar el código según tus necesidades y estructura de la base de datos.
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