Hallo tweakers,
Ik wist niet zeker of dit onderwerp hier of bij SA hoort, maar ik vermoed hier dus bij deze. Ik zit met een probleem met IsNull; zie onderstaande code;
----------------------------------------------------------------
'Alle medewerkers nieuw functioneringsformulier
'Stap 1 -- Tabel maken met daarin alle PID
DoCmd.RunSQL "SELECT Persoonsgegevens.PID INTO tblPID FROM
Persoonsgegevens;"
NR:
DoCmd.OpenTable "tblPID"
If IsNull([Table]![TblPID]![PID]) Then GoTo Verder
DoCmd.Close acTable, "tblPID", acSaveYes
'Stap 2 -- Tabel maken met daarin de MinPID
DoCmd.RunSQL "SELECT Min(tblPID.PID) AS MinVanPID INTO tblMinPID FROM tblPID;"
'Stap 3 -- Nieuw formulier toevoegen
DoCmd.RunSQL "INSERT INTO Formulieren ( GID )SELECT Max([GID])+1 AS Expr1 FROM Formulieren;"
'Stap 4 -- Tabel maken met daarin de MaxGID
DoCmd.RunSQL "SELECT Max([GID]) AS Expr1 INTO tblMaxGID FROM Formulieren;"
'Stap 5 -- ToevoegQuery die MinPID en MAXGID toevoegd aan Form_ID
DoCmd.RunSQL "INSERT INTO FormID ( PID, GID )SELECT tblMinPID.MinVanPID, tblMaxGID.Expr1 FROM tblMaxGID, tblMinPID;"
'Stap6 -- Verwijder MinPID van tabel PID
DoCmd.RunSQL "DELETE Min([PID])FROM tblPID;"
GoTo NR
Verder:
MsgBox "Alle records toegevoegd"
----------------------------------------------------------------
Het probleem zit in de regel If IsNull([Table]![TblPID]![PID]) Then GoTo Verder. Op de een of andere manier kan ik geen tabel aanspreken..
Hij opent hem wel netjes, maar dan zegt hij dat hij het desbtreffende veld niet kan vinden, terwijl die er wel is. Ik heb hier al diverse andere expressies (alleen PID, zonder table, etc) ingevoerd, allemaal met een negatief resultaat. Ook de tabel de focus geven werkt niet. Ik heb al gezocht in de search en via google, maar dit is iets te specifiek om er een antwoord op te vinden.
Ik ben opzich nog niet zo lang bezig met VBA, dus misschien zeggen jullie ook wel, waarom doe je het niet zo en zo. Deze suggesties zijn ook welkom.
Ik wist niet zeker of dit onderwerp hier of bij SA hoort, maar ik vermoed hier dus bij deze. Ik zit met een probleem met IsNull; zie onderstaande code;
----------------------------------------------------------------
'Alle medewerkers nieuw functioneringsformulier
'Stap 1 -- Tabel maken met daarin alle PID
DoCmd.RunSQL "SELECT Persoonsgegevens.PID INTO tblPID FROM
Persoonsgegevens;"
NR:
DoCmd.OpenTable "tblPID"
If IsNull([Table]![TblPID]![PID]) Then GoTo Verder
DoCmd.Close acTable, "tblPID", acSaveYes
'Stap 2 -- Tabel maken met daarin de MinPID
DoCmd.RunSQL "SELECT Min(tblPID.PID) AS MinVanPID INTO tblMinPID FROM tblPID;"
'Stap 3 -- Nieuw formulier toevoegen
DoCmd.RunSQL "INSERT INTO Formulieren ( GID )SELECT Max([GID])+1 AS Expr1 FROM Formulieren;"
'Stap 4 -- Tabel maken met daarin de MaxGID
DoCmd.RunSQL "SELECT Max([GID]) AS Expr1 INTO tblMaxGID FROM Formulieren;"
'Stap 5 -- ToevoegQuery die MinPID en MAXGID toevoegd aan Form_ID
DoCmd.RunSQL "INSERT INTO FormID ( PID, GID )SELECT tblMinPID.MinVanPID, tblMaxGID.Expr1 FROM tblMaxGID, tblMinPID;"
'Stap6 -- Verwijder MinPID van tabel PID
DoCmd.RunSQL "DELETE Min([PID])FROM tblPID;"
GoTo NR
Verder:
MsgBox "Alle records toegevoegd"
----------------------------------------------------------------
Het probleem zit in de regel If IsNull([Table]![TblPID]![PID]) Then GoTo Verder. Op de een of andere manier kan ik geen tabel aanspreken..
Ik ben opzich nog niet zo lang bezig met VBA, dus misschien zeggen jullie ook wel, waarom doe je het niet zo en zo. Deze suggesties zijn ook welkom.
(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!