Insertando los fines de semana en la tabla con solo días laborables MS Access
Necesito insertar los fines de semana en una tabla que solo tiene días laborables y luego asignar el último valor conocido a los valores del fin de semana. Sé que voy a necesitar una consulta de inserción, aunque todavía soy bastante nuevo cuando se trata de VBA y SQL.
Código hasta ahora:
Private Sub btnWeekends_Click()
DoCmd.SetWarnings False
Dim db as DataBase
Dim rs as RecordSet
Dim fieldCount as Integer
Dim i as Integer
set db = CurrentDb
set rs = db.OpenRecordSet("Archive", dbOpenDynaset)
fieldCount = db.TableDefs("Archive").Fields.Count
Dim DateVal As Date
DateVal = rs![ValDate]
Do While Not rs.EOF
i = 0
Do While IsNull(DLookup("ValDate", "Archive", "ValDate=#" & DateAdd("d", 1, ValDate) & "#")) = True
rs.AddNew
' removed other fields and edited line below
rs![ValDate] = DateVal
rs.Update
i = i + 1
Loop
rs.MoveNext
Loop
'//-----Clean Up
set db = Nothing
set rs = Nothing
DoCmd.SetWarnings True
End Sub
Datos que tengo (a partir del viernes):
+------------------------------------------------------------------------+
|ID |Customer Name| Nbr | City |Value of Day|ExtendedNbr| ValDate |
+------------------------------------------------------------------------+
|001| Cust1 | 91 | New York | 529 | 91928592 | 1/5/2018 |
|002| Cust2 | 87 | Las Vegas| 654 | 85642187 | 1/5/2018 |
|003| Cust3 | 45 | Denver | 258 | 78943245 | 1/5/2018 |
|004| Cust1 | 91 | New York | 611 | 91928592 | 1/8/2018 |
|005| Cust2 | 87 | Las Vegas| 753 | 85642187 | 1/8/2018 |
|006| Cust3 | 45 | Denver | 357 | 78943245 | 1/8/2018 |
+------------------------------------------------------------------------+
'ValDate then skips past 1/6/2018 and 1/7/2018 to 1/8/2018
Datos que necesito:
+------------------------------------------------------------------------+
|ID |Customer Name| Nbr | City |Value of Day|ExtendedNbr| ValDate |
+------------------------------------------------------------------------+
|001| Cust1 | 91 | New York | 529 | 91928592 | 1/5/2018 |
|002| Cust2 | 87 | Las Vegas| 654 | 85642187 | 1/5/2018 |
|003| Cust3 | 45 | Denver | 258 | 78943245 | 1/5/2018 |
|004| Cust1 | 91 | New York | 529 | 91928592 | 1/6/2018 |
|005| Cust2 | 87 | Las Vegas| 654 | 85642187 | 1/6/2018 |
|006| Cust3 | 45 | Denver | 258 | 78943245 | 1/6/2018 |
|007| Cust1 | 91 | New York | 529 | 91928592 | 1/7/2018 |
|008| Cust2 | 87 | Las Vegas| 654 | 85642187 | 1/7/2018 |
|009| Cust3 | 45 | Denver | 258 | 78943245 | 1/7/2018 |
|010| Cust1 | 91 | New York | 611 | 91928592 | 1/8/2018 |
|011| Cust2 | 87 | Las Vegas| 753 | 85642187 | 1/8/2018 |
|012| Cust3 | 45 | Denver | 357 | 78943245 | 1/8/2018 |
+------------------------------------------------------------------------+
'I'm needing it to add the Saturday(1/6/2018) and Sunday(1/7/2018) before continuing on to 1/8/2018
Porque no hayValue of Day
para1/6/2018
o1/7/2018
, Necesito tomar los valores del día anterior e ingresarlos en las fechas de fin de semana recién agregadas (ej. 1/6/2018 y 1/7/2018) con la información correspondiente Customer Name
, Nbr
, City
, ExtendedNbr
).
Gracias de antemano por cualquier ayuda / consejo que pueda proporcionar. ¡Todavía soy nuevo y cualquier oportunidad de aprender más es muy apreciada!
EDIT1:
Liners.Update
errores con "Error en tiempo de ejecución '3022': los cambios que solicitó en la tabla no tuvieron éxito porque crearían valores duplicados en el índice, la clave principal o la relación ..."
EDIT2:
Los resultados se ingresan al final de todos los registros. Loop es infinito por alguna razón. Las nuevas fechas no se insertan en la tabla correctamente (son todas las mismas fechas y no están en el orden correcto).