Avatar billede yuksel Nybegynder
08. august 2005 - 09:18 Der er 16 kommentarer og
1 løsning

forspørgelse vedr tjekning af om der findes andre rec

hej til alle. 


  strsql = "SELECT * FROM " & _
            " Person& _
            " WHERE ((((nr)= " & nr & ") and " & _
            " (national)=" & national& " ) and " & _
            " (kon)= '" & kon & "')"

jeg skal bruge en ny forspørgelse, hvor kon er ukendt, og jeg skal tjekke
om der findes et andet record med samme betingelse på nær kon.
men på det tid jeg sætter forspørgelsen afsted har jeg allerede 100% en af forkomsten, men jeg er
interesseret om der findes mere end en.
Avatar billede yuksel Nybegynder
08. august 2005 - 09:46 #1
er der nogen  =?
Avatar billede mugs Novice
08. august 2005 - 09:48 #2
Brug DCount.
Avatar billede yuksel Nybegynder
08. august 2005 - 09:57 #3
har du en eks. ?
Avatar billede mugs Novice
08. august 2005 - 10:01 #4
Her med et alfanumerisk og et numerisk kriterie:

DCount("*", "Tabel1", "[Felt1]= '" & Me.Felt1 & "' And [Felt2]= " & Me.Felt2 & "")

Kombiner det med en If DCount... Then
gør noget hvis det er opfyldt
Else:
gør noget andet
end if
Avatar billede yuksel Nybegynder
08. august 2005 - 10:05 #5
den melder argumen not optional
If DCount <> 0 Then
  MsgBox "1"
Else:
  MsgBox "2"
End If
Avatar billede mugs Novice
08. august 2005 - 10:07 #6
Ja - Se mit eksempel og medtag tabel og feltnavn, ellers ved den jo ikke hvad den skal tælle.
Avatar billede mugs Novice
08. august 2005 - 10:08 #7
Syntaksen for at tælle poster i en tabel er:

DCount("*", "TABELNAVN")
Avatar billede yuksel Nybegynder
08. august 2005 - 10:09 #8
det hele ser sådan ud, men jeg ved ikke hvordan jeg smider kon in? og den melder
stadige argument not optionel ved  If DCount <> 0 Then

strsql = DCount("*", "Person", "[nr]= " & nr& " " & _
            "And [National]= " & National& "")
           
If DCount <> 0 Then
  MsgBox "1"
Else:
  MsgBox "2"
End If
Avatar billede yuksel Nybegynder
08. august 2005 - 10:19 #9
kan du se noget galt med 
08/08-2005 10:09:33
Avatar billede mugs Novice
08. august 2005 - 10:22 #10
Du kna ikke bruge DCount på den måde. Se  10:01:23 og 10:07:08 og 10:08:33 og medtag tabel- og feltnavn.
Avatar billede mugs Novice
08. august 2005 - 10:29 #11
Denne f.eks har 3 DCount der tæller med et alfanumerisk, et numerisk og et datofelt og gemmer resultatet i 3 variabler.
Derefter en betingelse der lagrer en ny post hcis du trykker Yes i MsgBox, ellers gør den noget andet:

Dim a As String, Svar, b As Integer, c As Date
a = DCount("*", "Tabel1", "[Felt1]= '" & Me.Felt1 & "'")
b = DCount("*", "Tabel1", "[Felt2]= " & Me.Felt2 & "")
c = DCount("*", "Tabel1", "[Felt4]= #" & Me.Felt4 & "#")
If a > 0 And b > 0 And c > 0 Then
If MsgBox("Vil du oprette posten?", vbYesNo) = vbYes Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Else:
Me.Undo
DoCmd.GoToRecord acForm, "Form1", acPrevious, 1
Exit Sub
End If
End If
Avatar billede yuksel Nybegynder
08. august 2005 - 10:35 #12
strsql = DCount("*", "Person", "[National]= " & National & " " & _
          "And [nr]= " & nr & " And [kon] = '" & kon & "'")

    Msgbox strsql
denne melder intet fejl men fungere ikke som jeg gerne vil have den.
hvordan kan jeg få den til at give mig en værdi i tilfælde af kon er forskellige fra hinanden men har sammen nr og national ?
Avatar billede mugs Novice
08. august 2005 - 10:46 #13
"kon er forskellige fra hinanden"

Hvis kon skal være forskellig skal du ikke bruge lighedstegn:

And [kon] = '" & kon & "'")

Men forskellig fra <>
Avatar billede yuksel Nybegynder
08. august 2005 - 10:54 #14
det hjælper ikke ret meget den tæller alle poster alligevel
men det er jo ikke det jeg vil bare gerne vide hvormange om der er forskellige kon med samme nr og national,
Avatar billede mugs Novice
08. august 2005 - 11:22 #15
Prøv at dele den op og tag de 2 første kriterier og kontroller at den tæller rigtig.
Avatar billede yuksel Nybegynder
08. august 2005 - 13:48 #16
jeg har droppet det her dcount ..... og bruger istedet en sql udtryk og looper mig igennem hele recordsetet og finder på denne måde ud af det
Avatar billede fdata Forsker
08. august 2005 - 14:54 #17
Hvorfor returnerer du ikke bare Kon?:
if DLookup("Kon", "Person", "[National]= " & National & " And [nr]= " & nr) <> AktueltKøn then ...
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