Avatar billede geertf Nybegynder
05. august 2004 - 16:28 Der er 17 kommentarer og
1 løsning

Søg om værdi er i bestemt tabel (Access97)

hej igen
Det er muligt at det er et meget banalt spørgsmål, men jeg stiller det alligevel:
Når en bestemt form åbner (den del er ok), vil jeg gerne have at der søges i en bestemt kolonne i en bestemt tabel, for at se om
Environ("Username") altså brugernavnet allerede findes i tabellen (og hvis ikke så....). Jeg har på fornemmelsen at jeg ved allerede, men kan ikke finde på noget som virker...

Geert
Avatar billede mugs Novice
05. august 2004 - 16:35 #1
Denne bruger jeg i Access2000, men er i tidernes mprgen lavet i 97:

Dim SQLstr As String
Dim Felt5 As String
Dim MSG As String
Dim Svar As Integer
Dim Ctrl As Control
DoCmd.GoToControl "FELTNAVN"
Me.RecordsetClone.FindFirst "FELTNAVN=  " & FELTNAVN & ""
While Me.RecordsetClone.NoMatch = True
If Me.RecordsetClone.NoMatch = True Then
Svar = MsgBox(Prompt:="Den søgte Talstreng findes ikke", Title:="Søgningen lykkedes ikke")
Exit Sub
End If
Me.RecordsetClone.FindFirst "FLETNAVN=  " & FELTNAVN & ""
Wend
Me.Bookmark = Me.RecordsetClone.Bookmark
Avatar billede geertf Nybegynder
05. august 2004 - 16:53 #2
Min frm er ikke knyttet til den tabel som koden skal kigge i, hvordan fortæller jeg at den skal se i præcis den tabel?
Avatar billede mugs Novice
05. august 2004 - 16:57 #3
Det er en forudsætning at username findes i et felt i formularen.
Kan du ikke indsætte en ubunden tekstboks, og ved hjælp af en DLookUp hente username ind i formularen?
Avatar billede mugs Novice
05. august 2004 - 17:03 #4
Syntaksen for en DLookUp:

=DLookUp("[FELTNAVN]";"TABELNAVN")

Indsæt det i den ubundne tekstboks' postkilde
Avatar billede geertf Nybegynder
05. august 2004 - 17:04 #5
Jeg er ikke sikker på hvad du mener. Men jeg har allerede lavet et felt hvor den nuværende Username fremgår, men hvordan får jeg FindFirst-sætning til at se præcis ned i kolonnen WindowsBrugerNavn i tabellen tbl_Kunder? Det er jo kun hvis den finde en tilsvarende værdi præcis det sted, at der skal ske noget...
Avatar billede geertf Nybegynder
05. august 2004 - 17:06 #6
Indsætter jeg så alles usernames i et ubundet felt?
Avatar billede mugs Novice
05. august 2004 - 17:07 #7
Se min kode:

DoCmd.GoToControl "FELTNAVN"

Sender markøren til feltet og foretager søgningen i dette felt og kun her.
Avatar billede hekla Nybegynder
05. august 2004 - 17:08 #8
Prøv at sætte følgende i i formularens VedÅbning hændelse:
if dcount("MitfeltMedBrugernavne", "[MinTabelMedBrugernavne]", "MitfeltMedBrugernavne = " & Environ("Username") & ") > 0 then
Msgbox "Brugernavnet " & environ("Username") & " findes allerede,"
Else
Msgbox "Brugernavnet " & Environ("Username") & " findes ikke i tabellen"
End if
Avatar billede mugs Novice
05. august 2004 - 17:09 #9
Mjaaa...

Den skal jeg lige tygge lidt på.
Avatar billede hekla Nybegynder
05. august 2004 - 17:12 #10
Så vidt jeg ved, giver environ("Username") det brugernavn, som man er logget på Windows med
Avatar billede mugs Novice
05. august 2004 - 17:12 #11
hekla > YES
Selvfølgelig!!

Det er jo ikke nødvendigt at gøre det bøvlet. Men det fordrer stadig at der er et felt med brugernavn i formularen.
Avatar billede hekla Nybegynder
05. august 2004 - 17:13 #12
mugs >> Nej det skulle ikke være nødvendigt med et felt i formularen.
Avatar billede mugs Novice
05. august 2004 - 17:16 #13
hekla > OK

Den skal afprøves (når solen er gået ned.)

"if dcount("MitfeltMedBrugernavne","

Forstår jeg sådan, at du refererer til et felt i formularen.

Og nu mine damer og herrer: Tilbage til terrassen, jeg er igang med en spændende bog. Rene røverhistorier - Men god underholdning.
Avatar billede geertf Nybegynder
05. august 2004 - 17:20 #14
hekla jeg forstå godt din ideen, som ser lovende ud, men jeg får en fejl. Den forventer en ) i første sætning - den jeg jeg ikke helt gennemskue?
Avatar billede mugs Novice
05. august 2004 - 17:28 #15
If DCount("*", "TABELNAVN", "[FELTNAVN]= '" & Me.FELTNAVN & "'")>0 Then
gør noget
Else
gør noget andet
end if
Avatar billede hekla Nybegynder
05. august 2004 - 17:34 #16
Denne er testet og virker:

if dcount("MitfeltMedBrugernavne", "[MinTabelMedBrugernavne]", "MitfeltMedBrugernavne = '" & Environ("username") & "'") > 0 Then
Msgbox "Brugernavnet " & environ("Username") & " findes allerede,"
Else
Msgbox "Brugernavnet " & Environ("Username") & " findes ikke i tabellen"
End if
Avatar billede geertf Nybegynder
05. august 2004 - 17:40 #17
Hekla din metode virker også her. Helt perfekt! Utroligt så meget man kan tælle sig til :-) mange tak for hjælpen!
Avatar billede hekla Nybegynder
05. august 2004 - 17:41 #18
Tak for point!
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