Voor de beeldvorming even een uitleg van het doel.
Binnen elektrische installaties (tabel: proj_Project..) bestaan meerdere elektrische verdeelkasten, zeg meterkasten of verdelers (tabel: 6verd_NENve….). Deze verdelers bestaan weer uit verschillende groepen (tabel: Groep_NENMeetstaat).
In de figuur ziet u de relatie tussen dezen (zie bijgevoegd doc).
Binnen een bestaande tabel “Groep_NENMeetstaat” wil ik records kopieren van eenzelfde Verdeler_ID. De laatste gelijknamige verdeler. Deze bepaal ik met volgende code:
Binnen de tabel Verdelers was soortgelijke probleem. Dit heb ik geheel in VBA gedaan zonder Query’s. Echter dit werkte niet bij de Groep_NENMeetstaat niet
Hierbij dacht dit met een toevoegquery te doen. (zie bijgevoegd doc)
De query (het kopieren) wil ik uitvoeren als ik vanuit het formulier met de verdelers, van de gewenste verdeler, het subformulier open (knop) van de groepen als deze nog niet gevuld is.
Ik loop nu tegen twee problemen aan;
1) Hoe kan ik een variabele in de uit de VBA code in de criteria opnemen. (LaatsteVerd_ID) zodat de juiste records gekopieerd worden. Dit werkt als ik hier het verdeler_ID, handmatig, invul.
2) Het verdeler_ID van deze records moet het zelfde Verdeler_ID krijgen als de gekozen Verdeler. (Dus een ander nummer als de gekopieerde Record)
Onderstaande code zoals ik die nu toepas bij het laden van het formulier.
Verder heb ik geprobeerd de Query in VBA te zetten maar dit lukte niet. (foutmelding ‘verwacht instructie einde)
De query Code:
Wie kan mij opweg helpen?
BVD
Binnen elektrische installaties (tabel: proj_Project..) bestaan meerdere elektrische verdeelkasten, zeg meterkasten of verdelers (tabel: 6verd_NENve….). Deze verdelers bestaan weer uit verschillende groepen (tabel: Groep_NENMeetstaat).
In de figuur ziet u de relatie tussen dezen (zie bijgevoegd doc).
Binnen een bestaande tabel “Groep_NENMeetstaat” wil ik records kopieren van eenzelfde Verdeler_ID. De laatste gelijknamige verdeler. Deze bepaal ik met volgende code:
Code:
LaatsteVerd_ID = DLast("Verdeler_ID", "6Verd_NENVerdelers", "Verd_Tagcode ='" & Me.Parent.Verd_TagCode & "' And Verdeler_ID <>" & Me.Parent.Verdeler_ID)
Binnen de tabel Verdelers was soortgelijke probleem. Dit heb ik geheel in VBA gedaan zonder Query’s. Echter dit werkte niet bij de Groep_NENMeetstaat niet
Hierbij dacht dit met een toevoegquery te doen. (zie bijgevoegd doc)
De query (het kopieren) wil ik uitvoeren als ik vanuit het formulier met de verdelers, van de gewenste verdeler, het subformulier open (knop) van de groepen als deze nog niet gevuld is.
Ik loop nu tegen twee problemen aan;
1) Hoe kan ik een variabele in de uit de VBA code in de criteria opnemen. (LaatsteVerd_ID) zodat de juiste records gekopieerd worden. Dit werkt als ik hier het verdeler_ID, handmatig, invul.
2) Het verdeler_ID van deze records moet het zelfde Verdeler_ID krijgen als de gekozen Verdeler. (Dus een ander nummer als de gekopieerde Record)
Onderstaande code zoals ik die nu toepas bij het laden van het formulier.
Code:
Private Sub Form_Load()
Dim LaatsteVerd_ID As Integer
'Controle of er een indentiek Groepnummer bestaat.
If Meet_Groepnummer = DLookup("Meet_Groepnummer", "Groep_NENMeetstaat", "Verdeler_ID = " & Me.Parent.Verdeler_ID) Then
'Opzoeken laatste identieke verdeler
LaatsteVerd_ID = DLast("Verdeler_ID", "6Verd_NENVerdelers", "Verd_Tagcode ='" & Me.Parent.Verd_TagCode & "' And ` Verdeler_ID <>" & Me.Parent.Verdeler_ID)
'Functie voor het kopieren van alle groepen met gelijk Verdeler_ID
DoCmd.OpenQuery "TVGqry-Groepen"
End If
End Sub
Verder heb ik geprobeerd de Query in VBA te zetten maar dit lukte niet. (foutmelding ‘verwacht instructie einde)
De query Code:
Code:
INSERT INTO Groep_NENMeetstaat ( Verdeler_ID, Meet_Groepnummer, Meet_GroepType )
SELECT Groep_NENMeetstaat.Verdeler_ID, Groep_NENMeetstaat.Meet_Groepnummer, Groep_NENMeetstaat.Meet_GroepType
FROM Proj_Projectgegevens INNER JOIN (6Verd_NENVerdelers INNER JOIN Groep_NENMeetstaat ON [6Verd_NENVerdelers].Verdeler_ID = Groep_NENMeetstaat.Verdeler_ID) ON Proj_Projectgegevens.Project_ID = [6Verd_NENVerdelers].Project_ID
WHERE (((Groep_NENMeetstaat.Verdeler_ID)=[LaatsteVerd_ID]));
Wie kan mij opweg helpen?
BVD