Access - Ayuda por favor?

 
Vista:

Ayuda por favor?

Publicado por Areanna (13 intervenciones) el 26/10/2004 15:10:23
Hola a todos ajala alguien pudiera ayudarme, les explico
Tengo el siguiente codigo lo que me hace este codigo es pedirme unos productos cada 1 de cada mes, y desplegar un total de registros segun los dias si son 5 dias me despliega 5 registros pero lo que yo deseo es que despues de haber pedido esos datos me posicione en el primer registro para seguir capturando otros datos osea en el dia numero 1 por que aparte existen mas campos para capturar
Espero me haya explicado.
Gracias

Dim dia As Integer
Dim prod As Long
Dim tot As Long
Dim i As Integer
Dim rs As Recordset
Dim rsinforme As Recordset
If Format(Now, "dd") = "1" Then
dia = InputBox("Dame los dias del mes")
prod = InputBox("Total de productos por mes")
tot = prod / dia
Set rsinforme = CurrentDb.OpenRecordset("conte", dbOpenDynaset)
For i = 1 To dia
With rsinforme
.AddNew
.Fields("dias") = i
.Fields("area") = area.Value
.Fields("pieza_meta_diaria") = tot
.Update
End With
Next
rsinforme.Close
MsgBox "Las Piezas Meta Diarias han sido registradas correctamente"

End If
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

Posicionarse en el primer registro después de ingresar los datos

Publicado por Alejandro (4142 intervenciones) el 15/05/2023 17:18:58
Para lograr que te posiciones en el primer registro después de ingresar los datos en tu código, puedes utilizar el método `MoveFirst` del objeto `Recordset` una vez que hayas terminado de agregar los registros.

Aquí tienes una versión modificada de tu código con esa implementación:

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
Dim dia As Integer
Dim prod As Long
Dim tot As Long
Dim i As Integer
Dim rs As Recordset
Dim rsinforme As Recordset
 
If Format(Now, "dd") = "1" Then
    dia = InputBox("Dame los dias del mes")
    prod = InputBox("Total de productos por mes")
    tot = prod / dia
    Set rsinforme = CurrentDb.OpenRecordset("conte", dbOpenDynaset)
 
    For i = 1 To dia
        With rsinforme
            .AddNew
            .Fields("dias") = i
            .Fields("area") = area.Value
            .Fields("pieza_meta_diaria") = tot
            .Update
        End With
    Next
 
    rsinforme.MoveFirst  ' Mover al primer registro
 
    rsinforme.Close
    MsgBox "Las Piezas Meta Diarias han sido registradas correctamente"
End If

Después de realizar el bucle `For` y cerrar el objeto `Recordset` (`rsinforme.Close`), se utiliza el método `MoveFirst` para mover el cursor al primer registro de la tabla.

De esta manera, cuando termines de ingresar los datos, estarás posicionado en el primer registro y podrás continuar con la captura de otros datos en ese formulario.

Espero que esto resuelva tu problema. ¡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