Det er vel næsten nød til at gøres i to trin og det ville være lettest hvis man kunne se hvad for noget kode du har i forvejen.
Grundliggende må det være noget i stil med dette (men skal nok justeres lidt alt efter hvilken database og serversprog du bruger - dette er VBS og access/ms sql server):
kolonnevaerdi = "xxx" sql = "SELECT * FROM tabel WHERE kolonne1 = " & kolonnevaerdi set rs = conn.Execute(sql) if rs.eof then rs.close conn.Execute("INSERT INTO tabel(kolonne1) VALUES('" & kolonnevaerdi & "')" sql = "SELECT * FROM tabel WHERE kolonne1 = " & kolonnevaerdi set rs = conn.Execute(sql) end if
if not rs.eof then ' Så kan kolonnerns værdier aflæses i rs... else ' Så er der sket en fejl og den skal sikkert meddeles til brugeren... end if
Det med at bytte rundt forstod jeg ikke lige (den først SELECT undersøger om der er en række der matcher og den anden indlæser den nye der lige er oprettet - hvs den første SELECT ikke fandt noget), men hvis du kan bruge det, så er det fint med mig :)
Den først if-sætning checker om der er noget i resultatet af den første SELECT og hvis der ikke er så opretter den rækken og indlæser den nye række, så den sidste if altid burde hoppe ind i if-delen af if-then-else sætningen til sidst...
Jeg ved ikke om det blev mere tydeligt at det, men du har jo fundet ud af det, så der skal nok ikke bruges mere krudt på det :)
Hmm... det lyder mystisk, men som sagt hvis du har fået det til at fungere, så er det jo det vigtigste.
Tak for point :)
Synes godt om
Ny brugerNybegynder
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.