Access - Buscar en tabla

 
Vista:

Buscar en tabla

Publicado por Fernando (5 intervenciones) el 12/12/2005 15:43:09
Hola amigos de nuevo yo pero ahora es el problema es otro, tengo una base de datos que se llama Crono, con dos tablas las cuales se llaman Grupo1 y Tiempos.
El tema es el siguiente a paratir de un cuadro de texto donde ingreso un numero debo obtener los tres campos de Grupo1 y pegarlos en una posicion determinada en Tiempos, y la verdad he hecho miles de intentos pero no lo logro, alguien seria tan amable de darme una mano.
Desde ya muchas gracias.
Saludos
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

Copiar datos de Grupo1 a Tiempos usando un número

Publicado por Alejandro (4142 intervenciones) el 15/06/2023 00:27:58
Puedes utilizar Visual Basic for Applications (VBA) en Access para copiar los datos de la tabla "Grupo1" a la tabla "Tiempos" basándote en un número ingresado en un cuadro de texto. A continuación, te proporciono un ejemplo de cómo puedes hacerlo:

1. Abre el formulario en el que tienes el cuadro de texto y el botón para ejecutar la acción de copiar los datos.

2. Asigna un nombre único al cuadro de texto donde se ingresa el número. Por ejemplo, puedes llamarlo "txtNumero".

3. Asigna un nombre único al botón que ejecutará la acción. Por ejemplo, puedes llamarlo "btnCopiarDatos".

4. Haz doble clic en el botón "btnCopiarDatos" para abrir el editor de código de VBA.

5. En el editor de código, escribe el siguiente código:

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
35
36
37
38
39
40
41
42
43
Private Sub btnCopiarDatos_Click()
    Dim numero As Integer
    Dim strSQL As String
    Dim rsGrupo1 As DAO.Recordset
    Dim rsTiempos As DAO.Recordset
 
    'Obtener el número ingresado en el cuadro de texto
    numero = Me.txtNumero.Value
 
    'Verificar si el número existe en la tabla "Grupo1"
    strSQL = "SELECT * FROM Grupo1 WHERE Numero = " & numero
    Set rsGrupo1 = CurrentDb.OpenRecordset(strSQL)
 
    If Not rsGrupo1.EOF Then
        'Abrir la tabla "Tiempos" en modo de edición
        Set rsTiempos = CurrentDb.OpenRecordset("Tiempos", dbOpenDynaset, dbEditAdd)
 
        'Mover al final de la tabla "Tiempos"
        rsTiempos.AddNew
 
        'Copiar los valores de los campos de "Grupo1" a "Tiempos"
        rsTiempos!Campo1 = rsGrupo1!Campo1
        rsTiempos!Campo2 = rsGrupo1!Campo2
        rsTiempos!Campo3 = rsGrupo1!Campo3
 
        'Guardar los cambios en "Tiempos"
        rsTiempos.Update
 
        'Cerrar los recordsets
        rsGrupo1.Close
        rsTiempos.Close
 
        'Mostrar un mensaje de éxito
        MsgBox "Los datos se copiaron correctamente.", vbInformation
    Else
        'Mostrar un mensaje de error si el número no existe en "Grupo1"
        MsgBox "El número ingresado no existe en la tabla Grupo1.", vbExclamation
    End If
 
    'Limpiar los objetos recordset
    Set rsGrupo1 = Nothing
    Set rsTiempos = Nothing
End Sub

6. Guarda y cierra el editor de código.

Ahora, cuando ingreses un número en el cuadro de texto y hagas clic en el botón "btnCopiarDatos", el código verificará si ese número existe en la tabla "Grupo1". Si existe, copiará los campos correspondientes a la tabla "Tiempos" en una nueva fila. Si el número no existe, mostrará un mensaje de error.

Asegúrate de ajustar los nombres de las tablas, los campos y los objetos de formulario según tu estructura de base de datos.

Espero que esta solución te sea útil para copiar los datos de "Grupo1" a "Tiempos" basándote en un número ingresado. ¡Buena suerte!
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