Bijwerken, invoegen en het ? teken in DBEXECUTE
?
teken.Stel u hebt een lege SQL-tabel met de naam Items, met twee kolommen: ID en naam. ID is de primaire sleutel.
U hebt deze formule in een onbeveiligde cel:
=DBEXECUTE("configdb", "SELECT items.id,items.name FROM items WHERE ID=1","INSERT into items (ID,Name) VALUES (1,?)")
In de weergavemodus geeft u 1 op in de cel en drukt u op Enter.
Omdat de tabel leeg is en geen ID bevat met de waarde 1, wordt de instructie Invoegen uitgevoerd. De instructie Invoegen maakt de volgende rij in de tabel:
Rijnummer | ID | Naam |
---|---|---|
1 | 1 | 1 |
Door 1 in te voeren, hebt u de ID opgegeven. Het teken ?
zorgt dat deze waarde kan worden ingevoerd in de kolom Naam.
U geeft nu 2 op in de cel. Omdat ID 1 aanwezig is, wordt de instructie Invoegen niet uitgevoerd. In plaats daarvan wordt de rij met ID 1 bijgewerkt zoals in de volgende tabel wordt weergegeven:
Rijnummer | ID | Naam |
---|---|---|
1 | 2 | 1 |
Omdat de instructie Invoegen niet wordt uitgevoerd, is de kolom Naam niet bijgewerkt.
U geeft nu 3 op in de cel. Omdat ID 1 niet aanwezig is, wordt de instructie Invoegen uitgevoerd en wordt een nieuwe rij toegevoegd:
Rijnummer | ID | Naam |
---|---|---|
1 | 1 | 3 |
2 | 2 | 1 |
De waarden 1 en 3 resulteren uit dit gedeelte van de formule: VALUES (1,?)
.
Als u nu 4 opgeeft, wordt de ID 1 opnieuw weergegeven en wordt de rij met ID 1 bijgewerkt.
Rijnummer | ID | Naam |
---|---|---|
1 | 2 | 1 |
2 | 4 | 3 |
Als u 5 opgeeft, wordt er een extra rij toegevoegd:
Rijnummer | ID | Naam |
---|---|---|
1 | 1 | 5 |
2 | 2 | 1 |
3 | 4 | 3 |