Avatar billede natsprinter Nybegynder
22. oktober 2004 - 02:13 Der er 3 kommentarer og
1 løsning

Hvordan checker jeg om en post i en tabel er tom

Når jeg skriver følgende:

dbStat=conn.execute("select * from stat where medlemID = "&session("id"))

Kan jeg efterfølgende trække denne post ud i ASP:

response.write dbStat("antal")

Det forudsætter dog at der er en post i datbasen med netop den medlemID. Mit ærinde er så at checke om der er noget i den søgning, og hvis ikke der er, så oprette en post efterfølgende. Problemet er at checke for om posten er tom. Har prøvet med exists, men uden held, Null har heller ikke være den store succes. What dælen do we do ?
Avatar billede natsprinter Nybegynder
22. oktober 2004 - 02:16 #1
Jeg sætter lige hele min kode ind, for en ordens skyld. De hele virker altså, når bare der i forvejen ligger en post i tabellen !!!


'Hent højeste ID fra statistiktabellen
set dbmax = conn.execute("select max(id) as maxid from stat")
dbmax = int(dbmax("maxid")) + 1
           
' Der opdateres i stat tabellen
set dbStat=conn.execute("select * from stat where medlemID = "&session("id"))
if not dbStat("antal") = null then
antal = dbStat("antal")+1
set dbStat=conn.execute("delete * from stat where medlemID = "&session("id"))
set dbStat=conn.execute("insert into stat values ('"&dbmax&"',"&session("id")&","&antal&")")
else
antal = 1
set dbStat=conn.execute("insert into stat values ('"&dbmax&"',"&session("id")&","&antal&")")
end if
end if
Avatar billede mugs Novice
22. oktober 2004 - 06:35 #2
Jeg kender intet til ASP. Men nu har du jo rejst spørgsmålet i Access kategorien, og så kan det se således ud:

Dim VARa As Long
If Me.NewRecord Then
VARa = Me.id
If DCount("*", "Tabel1", "[id] =" & VARa) > 0 Then
MsgBox "Der er allerede poster med denne værdi."
Me.Undo
Exit Sub
End If
End If

Den kontrollerer først om der er tale om en ny post, derefter om det netop indtastede id findes i tabellen med en DCount. Eksisterer værsien i feltet id afbrydes oprettelsen.

Men jeg aner ikke om du kan bruge det til noget.
Avatar billede madschristensen Nybegynder
22. oktober 2004 - 08:53 #3
Hvis du istedet arbejder med recordset, kan du måle på BOF eller EOF.
Avatar billede madschristensen Nybegynder
22. oktober 2004 - 08:58 #4
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/cgi-bin/database.mdb")
Conn.Open DSN
strSQL = "select * from stat where medlemID = "&session("id")
Set rs = Conn.Execute(strSQL)

while not rs.BOF or rs.EOF then
... Kode...
wend

..Husk oprydning.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester