Oppdatere, sette inn og ? tegn i DBEXECUTE

Dette emnet beskriver oppdateringen og setter inn atferden til DBEXECUTE og bruken av ? tegn.

Gitt at du har en tom SQL-tabell kalt Elementer, med to kolonner: ID og navn. ID er primærnøkkelen.

Du har denne formelen i en ubeskyttet celle:

=DBEXECUTE("configdb", "SELECT items.id,items.name FROM items WHERE ID=1","INSERT into items (ID,Name) VALUES (1,?)")

I visningsmodus spesifiserer du 1 i cellen og trykker på Enter.

Fordi tabellen er tom og ikke inneholder en ID med verdien 1, blir Sett inn-setningen utført. Sett inn-setningen oppretter denne raden i tabellen:

Radnummer ID Navn
1 1 1

Ved å skrive inn 1 har du angitt ID-en. ? tegn fører til at denne verdien angis i Navn-kolonnen.

Nå spesifiserer du 2 i cellen. Fordi ID 1 finnes, blir ikke Sett inn-setningen utført. I stedet blir raden som inneholder ID 1 oppdatert som vist i denne tabellen:

Radnummer ID Navn
1 2 1

Fordi Sett inn-setningen ikke ble utført, blir ikke Navn-kolonnen oppdatert.

Nå spesifiserer du 3 i cellen. Fordi ID 1 ikke finnes, blir Sett inn-setningen utført og en ny rad blir lagt til:

Radnummer ID Navn
1 1 3
2 2 1

Verdiene 1 og 3 fra denne delen av formelen: VALUES (1,?).

Hvis du nå angir 4, er ID 1 igjen tilstede, og raden som inneholder ID 1 blir oppdatert.

Radnummer ID Navn
1 2 1
2 4 3

Hvis du spesifiserer 5 legges ytterligere en rad til:

Radnummer ID Navn
1 1 5
2 2 1
3 4 3