** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - 2 registros en el mismo formulario
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerrado2 registros en el mismo formulario

 Responder Responder
Autor
Mensaje
jotape Ver desplegable
Nuevo
Nuevo


Unido: 25/Marzo/2017
Localización: 16239
Estado: Sin conexión
Puntos: 12
Enlace directo a este mensaje Tema: 2 registros en el mismo formulario
    Enviado: 25/Marzo/2017 a las 13:17
Buenos días. Soy nuevo es este foro. Mi nombre es José Antonio y tengo que hacer un formulario de inicio en access desde el que manejo varios impresos en pdf. Obtengo los datos del primer interesado a partir del txtbuscaNiF de la tabla TInteresados y lo vuelco a txtNIF

Dim nDNI As Variant
nDNI = Me.txtbuscaNIF.Value


Set rs = CreateObject("ADODB.RecordSet")

        Me.RecordSource = "select * from TInteresados where NIF like '*" & nDNI & "*'"
        txtNIF.ControlSource = "NIF"

El problema es que hay veces que necesito otro interesado más en el mismo formulario porque hay pdfs que necesitan 2 interesados. No sé como hacerlo. Si alguien me pudiese ayudar le estaría muy agradecido.
Un saludo.
Arriba
buho Ver desplegable
Administrador
Administrador
Avatar
Abuelo FELIZ, nieto desesperado

Unido: 10/Abril/2004
Localización: Valladolid
Estado: Sin conexión
Puntos: 11321
Enlace directo a este mensaje Enviado: 26/Marzo/2017 a las 11:39
Hola. Normalmente cuando un mismo control para mostrar datos, debe admitir más de un dato (Como es tu caso) lo más fácil es que dicho control, en vez de ser un simple cuadro de texto sea o un cuadro combinado o un cuadro de lista, cuyo origen de la fila sea precisamente o una lista de valores o bien el resultado de una consulta.

Otra cuestión, sin entrar mucho a valorar el uso de un recordset de ADO para lograr lo que estás buscando.

Access dispone de funciones de DOMINIO para localizar registros en tablas de access.
Normalmente las conexiones ADO sobran en Access. Primero porque no se suelen necesitar en un porcentaje casi del 100% y segundo, porque de necesitarse abrir un recordset para algo, que éste sea DAO, que es el acceso a datos con el que normalmente funciona access por defecto.

Suerte

Edito: Es que veo que declaras un recordset de ADO y luego no lo utilizas ¿¿¿???
Set rs = CreateObject("ADODB.RecordSet")

Editado por buho - 26/Marzo/2017 a las 11:41
Por fin he hecho algo bueno, ser abuelo ¡y porque no lo he hecho yo!
Arriba
jotape Ver desplegable
Nuevo
Nuevo


Unido: 25/Marzo/2017
Localización: 16239
Estado: Sin conexión
Puntos: 12
Enlace directo a este mensaje Enviado: 26/Marzo/2017 a las 12:48
Ante todo gracias por responder. La verdad es que estoy muy verde en acces.
Voy a intentar hacer lo que me dices entiendo que con la función dlookup. La opción del cuadro de lista no me gusta mucho porque tiene unos 10000 registros la tabla de interesados, prefiero buscar el dni con un cuadro de texto.
Gracias y un saludo. 
Arriba
jotape Ver desplegable
Nuevo
Nuevo


Unido: 25/Marzo/2017
Localización: 16239
Estado: Sin conexión
Puntos: 12
Enlace directo a este mensaje Enviado: 28/Marzo/2017 a las 07:50
Buenos días.
Al final lo he resuelto de la siguiente manera, por si a alguien le puede ocurrir lo mismo. No sé si es la más práctica pero a mí me funciona. Además se puede cerrar el hilo.

Private Sub btnbuscaNif_Click()

Dim nDNI As String

Dim rs As Recordset

Set rs = CurrentDb.OpenRecordset("Select * from TInteresados where NIF like '" & nDNI & "*'")

Me.txtNombre = rs.Fields("NOMBRE")

End Sub

 

Private Sub btnbuscaNif2_Click()

Dim nDNI2 As String

Dim rs As Recordset2

Set rs = CurrentDb.OpenRecordset("Select * from TInteresados where NIF like '" & nDNI2 & "*'")

Me.txtNombre2 = rs.Fields("NOMBRE")

End Sub



Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable