Access - RecordSet para agregar a otra tabla

 
Vista:
sin imagen de perfil

RecordSet para agregar a otra tabla

Publicado por Dany (40 intervenciones) el 20/09/2015 01:12:00
Saludos cordiales a todos.

Estoy tratando de agregar datos de una tabla a otra con recordset. Los datos en la tabla origen los tengo asi:

Final Grp Name LEADCODE

L7123411 L7123409
L7123411 L7123410
L7377771 L7377770
L7377771 L7377769
L2504988 L3504987
L2504988 L2504986
L2504988 L2504985

Y en la tabla destino los debo de agregar asi:

Final Grp Name Cut1 Cut2 Cut3 Cut4 Cut5
L7123411 L7123409 L7123410
L7377771 L7377770 L7377769
L2504988 L2504985 L2504986 L3504987

Puede variar la cantidad de Cut hasta un maximo de 7, la idea es dejar todos los registros Final Grp Name en un solo hasta que este valor cambie en la columna.

Hice un reocordset y algunas consultas y consigue algo primario pero creo podria optimizarse el codigo para no usar tantas consultas y tablas.

Este es el codigo que tengo:

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
44
Public Function Leadcodes_Ship()
 
 
DoCmd.SetWarnings False
DoCmd.OpenQuery "Del_Lead_Wire", acNormal, acEdit
DoCmd.OpenQuery "App_Lead_Ship", acNormal, acEdit
 
Dim rsQuery_Wire1 As ADODB.RecordSet
Dim rsQuery_Wire2 As ADODB.RecordSet
Dim strSQL As String
Dim iAutonumber_By_Mach As Integer
Dim sLeadcode As String
 
    Set rsQuery_Wire1 = New ADODB.RecordSet
    rsQuery_Wire1.CursorLocation = adUseClient
 
    strSQL = "SELECT DISTINCT Leadcode FROM Lead_Wire"
    rsQuery_Wire1.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
 
    Do Until rsQuery_Wire1.EOF
        sMachNumb = rsQuery_Wire1("Leadcode")
        Set rsQuery_Wire2 = New ADODB.RecordSet
        rsQuery_Wire2.CursorLocation = adUseClient
        strSQL = "SELECT Lead_Wire.Leadcode, Lead_Wire.Wire, Lead_Wire.Autonumber_By_Mach " & _
                 "FROM Lead_Wire WHERE Lead_Wire.Leadcode= '" & sMachNumb & "' ORDER BY Lead_Wire.Leadcode, Lead_Wire.Wire ;"
        rsQuery_Wire2.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        iAutonumber_By_Mach = 0
        Do Until rsQuery_Wire2.EOF
            iAutonumber_By_Mach = iAutonumber_By_Mach + 1
            rsQuery_Wire2("Autonumber_By_Mach") = iAutonumber_By_Mach
            rsQuery_Wire2.Update
            rsQuery_Wire2.MoveNext
        Loop
        rsQuery_Wire2.Close
        Set rsquery = Nothing
        rsQuery_Wire1.MoveNext
    Loop
    rsQuery_Wire1.Close
    Set rsQuery_Wire1 = Nothing
DoCmd.OpenQuery "Make_Lead_Ship_Wires", acNormal, acEdit
DoCmd.OpenQuery "Up_Wires_Ship", acNormal, acEdit
 
 
End Function

Si pueden echarle un vistazo a la BDD adjunta y ayudarme se los agradeceria, ejecuten la function de la BDD y vean la tabla "Lead_Ship_Wires" eso es lo que he conseguido pero despues de realizar la primer parte tendria que agregar mas consultas para anexar los datos a la tabla "Master_Tbl2".

Dejo el enlace para la descarga de la BDD se llama RecordSet La Web del Programador:

Aqui el enlace:

https://onedrive.live.com/?id=C54F338ADA6102E7%21129&cid=C54F338ADA6102E7&group=0
Espero puedan ayudarme, de antemano les agradezco la ayuda.
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