Avatar billede mickill Nybegynder
15. april 2002 - 14:58 Der er 6 kommentarer og
1 løsning

kontrol af kolonner i access

Jeg har lavet en formular med 2 tekstfelter som skal udfyldes. Når formen bliver submittet skal oplysningerne fra formularen lagres i en access database i hver deres kolonne.
Hvordan kontrollere jeg at de oplysninger (f.eks A og B)
som bliver submittet ikke allerede står i databasen.

Man må jo godt skrive A og C eller C og A bare ikke A og B

Er det til at forstå ??? Det håber jeg.... 
Avatar billede medions Nybegynder
15. april 2002 - 15:02 #1
Well, du starter med at kører det gennem med en løkke.. :

While NOT rs.EOF
  If Request.Form("felt1") = rs("kolonne") Then
      afbryd
  End If
rs.MoveNext
Wend

//>Rune
Avatar billede mickill Nybegynder
15. april 2002 - 15:09 #2
Jamen, hvis man har skrevet A og B og submitter og der i databasen f.eks. står A og C så vil din metoden stoppe der og det skal det ikke, kun hvis der i db havde stået A og B.

Det er altså 2 kolonner som skal kontrolleres op mod de 2 oplysninger som bliver submittet fra formularen.....
Avatar billede medions Nybegynder
15. april 2002 - 15:15 #3
Jeg tror ikke helt jeg forstår dig.. men er det det her du vil ha..?

While NOT rs.EOF
  If Request.Form("felt1") = rs("kolonne1") Or Request.Form("Felt1") = rs("kollonne2") Then
      afbryd
  End If
rs.MoveNext
Wend

//>Rune
Avatar billede mickill Nybegynder
15. april 2002 - 15:20 #4
Nej, ikke helt.

Forestil dig at der i db ud for f.eks. id 1 i kolonne 1 og kolonne 2 står henholdsvis A og B.

Så bliver der fra formularen submittet A og C, så der nu i db ud fra id 2 står A og C

Hvis der nu bliver submittet A og B eller A og C skal det ikke kunne lade sig gøre......men A og D er ok

Forstår du ?? 
Det er sgu også lidt indviklet den måde jeg har gjort det på.
Avatar billede medions Nybegynder
15. april 2002 - 15:29 #5
Det er jo oxo det denne gør:

While NOT rs.EOF
  If Request.Form("felt1") = rs("kolonne1") Or Request.Form("Felt1") = rs("kollonne2") Then
      afbryd
  End If
rs.MoveNext
Wend

*G* ja gu' er den indviklet ;-) Well, vi skal nok finde ud af det...!
Men det er lidt svært at finde ud af hvad du vil!

//>Rune
Avatar billede eagleeye Praktikant
15. april 2002 - 18:03 #6
Lav det med SQL sætninger. Du skriver du har to felter man kan skrive i, her Felt1 og Felt2. Jeg antager så at Felt1, Felt2 svare til to kolonner i databasen kol1 og kol2:

strSQL = "SELECT * FROM tabel WHERE kol1 = '" & Request.Form("Felt1") & "' AND kol2 = '" & Request.Form("Felt1") & "';"
Set rs = connection.Execute(strSQL)
if rs.EOF OR rs.BOF then
  'Indsæt nye værdier
  strSQL = "INSERT INTO tabel (kol1,kol2) VALUES ('" & Request.Form("Felt1") & "', '" & Request.Form("Felt2") & "');"
  Connection.Execute(strSQL)
else
  'Data findes i forvejen i databasen...
end if
Avatar billede mickill Nybegynder
16. april 2002 - 10:20 #7
Så virker det sgu. Jeg takker for jeres svar, især dit eagleeye, da det var det, som virkede efter hensigten.
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
Kurser inden for grundlæggende programmering

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