Avatar billede keldo Nybegynder
02. august 2004 - 14:35 Der er 132 kommentarer og
2 løsninger

Kan jeg lave et felt som aut. opdateres afhængig af kritirierne?

Kan jeg lave et "ja/nej" felt i en formular som automatisk opdateres, afhængig af om kriterierne er opfyldt eller ej?

Feltet skal fortælle om kunden er aktiv eller ej ved hjælp af ex. "ja/nej". Dette gøres udfra nogle datafelter i samme formular. Disse datafelter skal opfylde visse kriterier, bla. dato, aktiv mv.  Ideen er at når jeg har ændret i et datafelt, skal "ja/nej" felter selv ændrer sig hvis kriterierne ikke længere er opfyldt, eller hvis de bliver opfyldt. Kriterierne har jeg allerede i en forespørgsel.

Kan nogen hjælpe?
Avatar billede mugs Novice
02. august 2004 - 14:46 #1
Jeg tror du taler om 2 forskellige ting.

Hvis du har en forespørgsel med nogle kriterier som posten opfylder, vil formularen vise posten. Hvis du i formularen ændrer et felt der indgår i kriterierne, så posten ikke længere opfylder kriterierne, vil posten først forsvinde når du enten Refresher eller Requery.

Hvis du vil styre det fra formularen, kan du i hver datafelt i BeforeUpdate indsætte en kode der kontrollerer om en række kriterier er opfyldt:

If Me.dato = Date() And Me.Aktiv = True Then
Me.janej = True
Else.
Me.janej = False

Du kan så ikke have kriterier i forespørgslen.
Avatar billede jensen363 Forsker
02. august 2004 - 14:50 #2
Hvis forespørgslen returnere en værdi til formularen i form at et værdifelt, kan du lave en If, Then ... Else, som målert på, om der returneres en værdi ( kriterie er opfyldt ) eller ikke ...

If Is Null [Forespørgsel].[Felt1] Then
  Felt2.Value = "Nej"
Else
  Felt2.Valie = "Ja"
End If
Avatar billede keldo Nybegynder
02. august 2004 - 14:57 #3
hmmm, i dag har jeg en forespørgsel hvor jeg kan tælle antallet af aktive kunder. Denne forespørgsel indeholder 2 til 3 "og" kriterier som kombineres med 3 "eller" kriterier. Jeg har ca. 5000 poster i min formular, hvoraf ca. 1500 opfylder mine kriterier. Når min forespørgsel er "kørt" på de 5000 poster, kan jeg så få access til at indsætte værdien i formularen i et felt oprettet dertil? Dvs. de 1500 som opfylder kriteriet bliver det nye felt til et "JA" og hvis ikke til et "NEJ". Næste gang jeg kører forespørgslen bliver de "nulstillet" og opdateret igen.
Avatar billede mugs Novice
02. august 2004 - 14:57 #4
jensen > Hvis vi som udgangspunkt forestiller os, at posten ikke opfylder kriterierne og dermed ikke er med i forespørgslen, så skal du stadigvæk igennem en refresh / requery for at kontrollere om posten opfylder foresoørgslens kriterier.
Avatar billede keldo Nybegynder
02. august 2004 - 14:58 #5
Hvis jeg kan, er det vel i forespørgslen jeg skal lave et ja/nej felt, med "if, then...else" som så indsættes i formularen....
Avatar billede mugs Novice
02. august 2004 - 15:03 #6
Så skal du igennem en løkke, der gennemløber alle poster i formularen:

- Først skal alle poster sættes til Nej i tabellen
- Derefter skal alle poster der opfylder kriterierne sættes til Ja

Det må kunne gøres med først en Update:

DoCmd.RunSQL "UPDATE Tabel1 Set felt1 = False"

Derefter en løkke der opdaterer formularen poster:

Do until Me.NewRecord = True
Felt1 = True
DoCmd.GoToRecord acForm, "Form1", acNext, 1
Loop
Avatar billede keldo Nybegynder
02. august 2004 - 15:05 #7
Mugs, nu er jeg ikke så skrap til SQL, men jeg kan se din ide. Men kan jeg til en start bare lave et nyt felt i formularen, et ja/nej felt, som jeg som standard sætter til nej?
Avatar billede mugs Novice
02. august 2004 - 15:12 #8
Hvis du med standardværdi mener egenskaben i tabellen, gælder denne kun for nye poster.

Min SQL:
DoCmd.RunSQL "UPDATE Tabel1 Set felt1 = False"
Skal du ikke studere så¨meget, blot ændre Tabel1 og felt1 til de aktuelle navne. Det er blot en SQL du fyrer af i din formular som en VBA kommando.

Prøv at lave en kommandoknap i formularen og indsæt koden i VedKlik. Så vil alle poster i tabellen blive ændret.
Avatar billede keldo Nybegynder
02. august 2004 - 15:24 #9
Det kan den ikke finde ud af...:

Private Sub Kommandoknap236_Click()
DoCmd.RunSQL UPDATE kundedata Set kunde ja/nej = False
End Sub

Hvor "Kundedata" = tabellen og "Kunde ja/nej"= feltet ja/nej

Hvorfor?
Avatar billede mugs Novice
02. august 2004 - 15:31 #10
Du glemmer ""

DoCmd.RunSQL "UPDATE kundedata Set ja/nej = False"

Det er muligt den protesterer fordi du har denne / i et feltnavn.

Hold ALTID dine objektnavne i eet ord uden specialtegn som / _ o.s.v.
Avatar billede mugs Novice
02. august 2004 - 15:31 #11
Prøv evt.:

DoCmd.RunSQL "UPDATE kundedata Set [ja/nej] = False"
Avatar billede mugs Novice
02. august 2004 - 15:33 #12
Om igen:

DoCmd.RunSQL "UPDATE kundedata Set [kunde ja/nej] = False"

For en anden gang:

Vær venlig at fortælle os hvilken fejl du får. Udtryk som "Det kan den ikke finde ud af" er intetsigende i forbindelse med en fejlfinding :o)
Avatar billede keldo Nybegynder
02. august 2004 - 15:35 #13
ok, tak nu virker den.

Hvad så nu? Nu skal jeg jo have tilføjet kriterierne eller kan den tage det fra den tidligere omtalte forespørgsel?
Avatar billede keldo Nybegynder
02. august 2004 - 15:36 #14
MUGS. ja klart, det er intet sigende. Sorry, skal nok være mere præcis næste gang :-)
Problemet lå både i  de manglende "" og i "/".
Avatar billede mugs Novice
02. august 2004 - 15:39 #15
jeg vil helst ikke ind i en forespørgsel, men foretrækker en løkke. I din kommandoknap tilføjer du nu denne kode:

Do until Me.NewRecord = True
[kunde ja/nej] = True
DoCmd.GoToRecord acForm, "Form1", acNext, 1
Loop

Idet du skal rette "form1" til navnet på den aktuellke form. I din SQL-sætning arbejdede du i tabellen, nu skal du arbejde i formularen.
Avatar billede mugs Novice
02. august 2004 - 15:40 #16
ALDRIG:

- / mellemrum

i objektnavne

ALDRIG, ALDRIG :o)
Avatar billede keldo Nybegynder
02. august 2004 - 15:41 #17
ok, men hvad gør denne kode helt præcist?
Avatar billede keldo Nybegynder
02. august 2004 - 15:42 #18
Og hvor i min kommandoknap? Skal det være efter SQl sætningen fra før?
Avatar billede mugs Novice
02. august 2004 - 15:50 #19
Din kode skal se ud som følger i kommandoknappens VedKlik:

DoCmd.RunSQL UPDATE kundedata Set kunde ja/nej = False
Do until Me.NewRecord = True
[kunde ja/nej] = True
DoCmd.GoToRecord acForm, "Form1", acNext, 1
Loop

Do Until o.s.v. gennemløber alle posterne i din formular (alle de poster der opfylder kriterierne), og sætter [kunde ja/nej] til True indtil hændelsen NewRecord indtræffer.
Avatar billede keldo Nybegynder
02. august 2004 - 15:52 #20
ok, nu har jeg indsat din sætning efter den anden, så der nu står ved klik:

Private Sub Kommandoknap236_Click()
DoCmd.RunSQL "UPDATE kundedata Set xkunde = False"
Do Until Me.NewRecord = True
[xkunde] = True
DoCmd.GoToRecord acForm, "kundedata", acNext, 1
Loop
End Sub

Det virker, den står og kører alle poster igennem og opdaterer dem alle til "JA". Problemet er blot at det jo ikke er alle der skal ændre til ja, men kun nogle af dem. Hvordan får vi flettet kriterierne ind??

Iøvrigt tak fordi du gider hjælpe.. :-)
Avatar billede mugs Novice
02. august 2004 - 16:01 #21
Hvilken postkilde har din formular, og er der nogle kriterier i den? Formularen bør jo kun  vise de poster der skal opdateres.

"Iøvrigt tak fordi du gider hjælpe.. :-)"

Selv tak. Det er hjælp til selvhjælp - Jeg lærer utrolig meget af Jeres spørgsmål.
Avatar billede mugs Novice
02. august 2004 - 16:09 #22
Jeg er nødt til at forlade computeren et stykke tid. Har du problemer så læg en kommentar. Jeg kontrollerer min mail senest Kl 18:00
Avatar billede keldo Nybegynder
02. august 2004 - 16:11 #23
Min formular er et kundedata billeder. Dvs. med alle stamoplysninger på kunder. Navn, adresse m.m. Også med hvornår de sidst har købt, hvornår de får varer næste gang og meget andet. Formularen bruger kundedata fra tabelen. Der er ingen kriterier i den. De kriterier jeg bruger i dag, har jeg i en forespørgsel. Forespørgslen er noget med:
Select kundedata.....
From kundedata
Where (xxx>400) AND (yyy>[Indtast dato]) AND (zzz>=[Indtast dato]) OR (aaa=500) AND (bbb<>købt) AND (ccc=1000) OR (hhh>[indtast dato]) AND (jjj>[indtast dato]) AND (kkk<>0)

Men måske kan jeg indtaste ovenstående Where sætnign direkte i SQL?? Og hvis jeg kan hvordan skal den så udløses, men en ny kommandoknap?
Avatar billede mugs Novice
02. august 2004 - 16:18 #24
Lige på falderebet:

Tag en kopi af din formular, lad den få postkilde fra en forespørgsel med kriterierne.

I den oprindelige formular har du SQL-sætningen:

DoCmd.RunSQL UPDATE kundedata Set kunde ja/nej = False

Efter denne indsætter du:

Docmd.Openform "Navnet på den nye form"

I dennes Vedaktuel indsætter du løkken og afslutter med:

DoCmd.Close
Avatar billede jensen363 Forsker
02. august 2004 - 16:21 #25
keldo > lad mig lige få hele din SQL forespørgsel vist c",)
Avatar billede jensen363 Forsker
02. august 2004 - 16:46 #26
Dette burde kunne gøre det :

Private Sub Kommandoknap236_Click()
Dim strSQL As String
Dim db As DAO.Database

    Set db = CurrentDb()

    strSQL = "UPDATE KundeData SET KundeData.[Ja/nej] = -1 "
    strSQL = strSQL & "WHERE (((KundeData.xxx)>400) "
    strSQL = strSQL & "AND ((KundeData.yyy)>[Indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.zzz)>=[Indtast dato])) "
    strSQL = strSQL & "OR (((KundeData.aaa)=500) "
    strSQL = strSQL & "AND ((KundeData.bbb)<>'købt') "
    strSQL = strSQL & "AND ((KundeData.ccc)=1000)) "
    strSQL = strSQL & "OR (((KundeData.hhh)>[indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.jjj)>[indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.kkk)<>0));"

        db.Execute strSQL


End Sub
Avatar billede keldo Nybegynder
03. august 2004 - 09:19 #27
Hej Mugs og Jensen, jeg sidder og eksperimentere lidt også for at lære. Det ser ud til at å den rigtige vej, men hvordan får jeg den til at komme med et "pop-up" billede hvor jeg kan indtaste dato kriteriet?? Den virker fint når jeg har indtastet en fast date i SQL ex. #8/1/2004#, men ikke hvis jeg ex, skriver [Indtast dato] i SQL som jeg gør i en forespørgsel. (Så siger den " systemet kan ikke finde feltet som der ref. til)??
Avatar billede jensen363 Forsker
03. august 2004 - 09:30 #28
Nedenstående virker naturligvis også i en opdateringsforespørgsel :

UPDATE KundeData SET KundeData.[Ja/nej] = -1
WHERE (((KundeData.xxx)>400)
AND ((KundeData.yyy)>[Indtast dato])
AND ((KundeData.zzz)>=[Indtast dato]))
OR (((KundeData.aaa)=500)
AND ((KundeData.bbb)<>'købt')
AND ((KundeData.ccc)=1000))
OR (((KundeData.hhh)>[indtast dato])
AND ((KundeData.jjj)>[indtast dato])
AND ((KundeData.kkk)<>0));
Avatar billede keldo Nybegynder
03. august 2004 - 09:47 #29
Jensen, jeg prøver din:

Private Sub Kommandoknap236_Click()
Dim strSQL As String
Dim db As DAO.Database

    Set db = CurrentDb()

    strSQL = "UPDATE KundeData SET KundeData.[Ja/nej] = -1 "
    strSQL = strSQL & "WHERE (((KundeData.xxx)>400) "
    strSQL = strSQL & "AND ((KundeData.yyy)>[Indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.zzz)>=[Indtast dato])) "
    strSQL = strSQL & "OR (((KundeData.aaa)=500) "
    strSQL = strSQL & "AND ((KundeData.bbb)<>'købt') "
    strSQL = strSQL & "AND ((KundeData.ccc)=1000)) "
    strSQL = strSQL & "OR (((KundeData.hhh)>[indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.jjj)>[indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.kkk)<>0));"

        db.Execute strSQL


End Sub

Men den fejler. Den markerer  db As DAO.Database og siger User-defined type not defined...???
Avatar billede jensen363 Forsker
03. august 2004 - 09:50 #30
Du skal lige have reference til Microsoft DAO 3.6 eller lignende

Aktiveres under moduler Tools
Avatar billede keldo Nybegynder
03. august 2004 - 09:54 #31
øh, det forstod jeg ikke. Moduler, tools og hvad så??
Avatar billede jensen363 Forsker
03. august 2004 - 09:57 #32
I modulkode-vinduet´s menulinie øverst oppe skulle der være et menupunkt Tools, her vælges References ... og Microsoft DAO 3.6 afkrydses som valg
Avatar billede keldo Nybegynder
03. august 2004 - 10:15 #33
OK Jensen, tak virker perfekt. Men den kommer med fejl når jeg bruger [Indtast dato] istedet for en fast dato.
Så markere den "db.Execute strSQL" og skriver:
"Der er for få paremetre, der var ventet 1"

Hvad gør jeg??
Avatar billede jensen363 Forsker
03. august 2004 - 10:17 #34
Hmm ... kigger lige på det ....

Har du prøver at afvikle den samme kode som opdateringsforespørgsel ?
Avatar billede keldo Nybegynder
03. august 2004 - 10:40 #35
Nej jeg har ikke prøvet at lave en opdateringsforespørgsel. Det prøver jeg lidt senere. Er der en fordel i at lave den som opdateringsforespørgsel, fremfor det andet?
Avatar billede jensen363 Forsker
03. august 2004 - 12:49 #36
Det er reelt en opdateringsforespørgsel omskrevet til ren SQL ... så de burde virke begge to ...
Avatar billede keldo Nybegynder
03. august 2004 - 12:53 #37
Jensen jar har lige skrevet noget, men det forsvandt åbenbart.. prøver lige igen... :-(
Avatar billede keldo Nybegynder
03. august 2004 - 13:15 #38
Jeg tror jeg bruger en kommandoknap i en formular. Men hvad nu hvis jeg skal bruge flere efter hinanden. Kan jeg så gøre følgende: Ex.:


Private Sub Kommandoknap236_Click()
Dim strSQL As String
Dim db As DAO.Database

    Set db = CurrentDb()

    strSQL = strSQL = "UPDATE KundeData SET KundeData.[Ja/nej] = -1 "
    strSQL = strSQL & "WHERE (((KundeData.xxx)>400) "
    strSQL = strSQL & "AND ((KundeData.yyy)>[Indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.zzz)>=[Indtast dato])) "
    strSQL = strSQL & "OR (((KundeData.aaa)=500) "
    strSQL = strSQL & "AND ((KundeData.bbb)<>'købt') "
    strSQL = strSQL & "AND ((KundeData.ccc)=1000)) "
    strSQL = strSQL & "OR (((KundeData.hhh)>[indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.jjj)>[indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.kkk)<>0));"

(Skal der stå noget her?????)

    strSQL = "UPDATE KundeData SET KundeData2.[Ja/nej] = -1 "
    strSQL = strSQL & "WHERE (((KundeData.111)>400) "
    strSQL = strSQL & "AND ((KundeData.222)>[Indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.333)>=[Indtast dato])) "
    strSQL = strSQL & "OR (((KundeData.444)=500) "
    strSQL = strSQL & "AND ((KundeData.555)<>'købt') "
    strSQL = strSQL & "AND ((KundeData.666)=1000)) "
    strSQL = strSQL & "OR (((KundeData.777)>[indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.888)>[indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.999)<>0));"

        db.Execute strSQL

End Sub

Eller skal jeg skrive noget der hvor der står ???????
Et tillægsspørgsmål, i "UPDATE KundeData SET KundeData.[Ja/nej] = -1 "  står –1 da for ”nej”?? Det vil jeg tro, for hvis jeg har forstået den rigtigt, så starter den med at ændre alle til Nej og derefter opdatere alle poster der opfylder kriteriet til ja. Er dette korrekt??
Avatar billede jensen363 Forsker
03. august 2004 - 13:19 #39
db.execute strSQL afvikler den enkelte SQL-sekvens, så dette skal også stå efter den 1. SQL-sætning 
 

-1 = True, dvs. Ja
Avatar billede keldo Nybegynder
03. august 2004 - 13:32 #40
ok Jensen. hmm, kan det virkelig passe at jeg i opdateringsforespørgslen godt kan bruge [indtast dato] men ikke i en SQL via kommandoknappen i en formular??
Avatar billede keldo Nybegynder
03. august 2004 - 13:52 #41
Nu skriver den: Der er en syntaksfejl fordi der mangler en operator???  og markerer...  db.Execute strSQL
har jeg lige overset noget?
Avatar billede keldo Nybegynder
03. august 2004 - 13:55 #42
Skal det i øvrigt stå sådan: ((kundedata.XXX YYY) > 400))  eller kan der også stå ([XXX YYY] > 400))... er det ikke det samme??
Avatar billede keldo Nybegynder
03. august 2004 - 14:25 #43
Jensen tak for din hjælp i øvrigt, jeg sætter stor pris på det. Men den kommer stadig med en fejl...
Der er en syntaksfejl fordi der mangler en operator???  og markerer...  db.Execute strSQL
har jeg lige overset noget?
Avatar billede jensen363 Forsker
03. august 2004 - 16:01 #44
Hej igen ... undskyld jeg har været til møde det meste af dagen ...

([XXX YYY] > 400)) er den mest korrekte måde

Jeg har også lidt problemer med at afvikle SQL-sætningen alene, så mon ikke opdateringsforespørgslen er at foretrække ?
Avatar billede keldo Nybegynder
03. august 2004 - 16:05 #45
Hej Jensen, godt at høre fra dig og at du også har problemer med SQL  sætningen. Den har voldt mig store kvaler. Jeg prøver en opdateringsforespørgsel i stedet. Men hvordan skriver jeg så hvis jeg vil have flere i opdateringsforespørgslen ligesom SQL´en:

Private Sub Kommandoknap236_Click()
Dim strSQL As String
Dim db As DAO.Database

    Set db = CurrentDb()

    strSQL = strSQL = "UPDATE KundeData SET KundeData.[Ja/nej] = -1 "
    strSQL = strSQL & "WHERE (((KundeData.xxx)>400) "
    strSQL = strSQL & "AND ((KundeData.yyy)>[Indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.zzz)>=[Indtast dato])) "
    strSQL = strSQL & "OR (((KundeData.aaa)=500) "
    strSQL = strSQL & "AND ((KundeData.bbb)<>'købt') "
    strSQL = strSQL & "AND ((KundeData.ccc)=1000)) "
    strSQL = strSQL & "OR (((KundeData.hhh)>[indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.jjj)>[indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.kkk)<>0));"

      db.Execute strSQL


    strSQL = "UPDATE KundeData SET KundeData2.[Ja/nej] = -1 "
    strSQL = strSQL & "WHERE (((KundeData.111)>400) "
    strSQL = strSQL & "AND ((KundeData.222)>[Indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.333)>=[Indtast dato])) "
    strSQL = strSQL & "OR (((KundeData.444)=500) "
    strSQL = strSQL & "AND ((KundeData.555)<>'købt') "
    strSQL = strSQL & "AND ((KundeData.666)=1000)) "
    strSQL = strSQL & "OR (((KundeData.777)>[indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.888)>[indtast dato]) "
    strSQL = strSQL & "AND ((KundeData.999)<>0));"

        db.Execute strSQL

End Sub
Avatar billede keldo Nybegynder
03. august 2004 - 16:09 #46
Kan jeg bare skrive :

UPDATE KundeData SET KundeData.[Ja/nej] = -1
WHERE (((KundeData.xxx)>400)
AND ((KundeData.yyy)>[Indtast dato])
AND ((KundeData.zzz)>=[Indtast dato]))
OR (((KundeData.aaa)=500)
AND ((KundeData.bbb)<>'købt')
AND ((KundeData.ccc)=1000))
OR (((KundeData.hhh)>[indtast dato])
AND ((KundeData.jjj)>[indtast dato])
AND ((KundeData.kkk)<>0))

AND THEN

UPDATE KundeData SET KundeData.[Ja2/nej2] = -1
WHERE (((KundeData.111)>400)
AND ((KundeData.222)>[Indtast dato])
AND ((KundeData.333)>=[Indtast dato]))
OR (((KundeData.444)=500)
AND ((KundeData.555)<>'købt')
AND ((KundeData.666)=1000))
OR (((KundeData.777)>[indtast dato])
AND ((KundeData.888)>[indtast dato])
AND ((KundeData.999)<>0));
Avatar billede jensen363 Forsker
03. august 2004 - 16:12 #47
Det nemmeste ville være at oprette det antal opdateringsforespørgsler som du skal bruge, og så ahvikle dem efter nedenstående kode :

Private Sub Kommandoknap236_Click()
   
    DoCmd.SetWarnings False
      DoCmd.OpenQuery "Forespørgsel1", acNormal, acAdd
      DoCmd.OpenQuery "Forespørgsel2", acNormal, acAdd

    DoCmd.SetWarnings True
End Sub
Avatar billede keldo Nybegynder
03. august 2004 - 16:20 #48
ok, så kommandoknappen kører alle opdateringsforespørgslerne efter hinanden.. smart. Jeg prøver og vender tilbage :-)
Avatar billede jensen363 Forsker
03. august 2004 - 16:39 #49
Funktionen DoCmd.SetWarnings False hhv. DoCmd.SetWarnings True sørger for, at du ikke bliver spurgt om du vil opdatere X antal poster ...
Avatar billede keldo Nybegynder
03. august 2004 - 16:41 #50
ahh smart, det var bla. det jeg ville undgå.
Avatar billede mugs Novice
03. august 2004 - 16:46 #51
keldo > Når du bruger SetrWarnings False, skal du altid huske at sætte til True igen, ellers forbliver Warniongs False i HELE applikationen.
Avatar billede keldo Nybegynder
03. august 2004 - 16:50 #52
MUGS... ja ligeoms i

Private Sub Kommandoknap236_Click()
   
    DoCmd.SetWarnings False
      DoCmd.OpenQuery "Forespørgsel1", acNormal, acAdd
      DoCmd.OpenQuery "Forespørgsel2", acNormal, acAdd

    DoCmd.SetWarnings True  (Det er denne du mener?)
End Sub
Avatar billede keldo Nybegynder
03. august 2004 - 17:11 #53
ok, nu er jeg ved at være der. Dog er der stadig en lille ting. Når jeg kører

UPDATE KundeData SET KundeData.[Ja/nej] = -1
WHERE (((KundeData.xxx)>400)
AND ((KundeData.yyy)>[Indtast dato])
AND ((KundeData.zzz)>=[Indtast dato]))
OR (((KundeData.aaa)=500)
AND ((KundeData.bbb)<>'købt')
AND ((KundeData.ccc)=1000))
OR (((KundeData.hhh)>[indtast dato])
AND ((KundeData.jjj)>[indtast dato])
AND ((KundeData.kkk)<>0));

i opdateringsforspørgs´len, virker det fint, bortset fra at den ikke fjerner dem så opfyldte kriterierne sidste gang. Dvs. jeg skal have den til at nulstille alle posterne i feltet KundeData.[Ja/nej], så den bliver til KundeData.[Ja/nej] = 1 inden den tjekker igennem. Hvordan skriver jeg det?? Kan jeg skrive

UPDATE KundeData SET KundeData.[Ja/nej] = 1

THEN

WHERE (((KundeData.xxx)>400)
AND ((KundeData.yyy)>[Indtast dato])
AND ((KundeData.zzz)>=[Indtast dato]))
OR (((KundeData.aaa)=500)
AND ((KundeData.bbb)<>'købt')
AND ((KundeData.ccc)=1000))
OR (((KundeData.hhh)>[indtast dato])
AND ((KundeData.jjj)>[indtast dato])
AND ((KundeData.kkk)<>0));

Eller hvad?
Avatar billede keldo Nybegynder
03. august 2004 - 17:12 #54
Undskyld, det skulle have været:

UPDATE KundeData SET KundeData.[Ja/nej] = 1

THEN

UPDATE KundeData SET KundeData.[Ja/nej] = -1
WHERE (((KundeData.xxx)>400)
AND ((KundeData.yyy)>[Indtast dato])
AND ((KundeData.zzz)>=[Indtast dato]))
OR (((KundeData.aaa)=500)
AND ((KundeData.bbb)<>'købt')
AND ((KundeData.ccc)=1000))
OR (((KundeData.hhh)>[indtast dato])
AND ((KundeData.jjj)>[indtast dato])
AND ((KundeData.kkk)<>0));
Avatar billede keldo Nybegynder
03. august 2004 - 17:15 #55
Nej, det kan jeg ikke har jeg lige fundet ud af. Måske jeg bare skal lave en ekstra opdateringssforespørgsel som laver:

UPDATE KundeData SET KundeData.[Ja/nej] = 1

og derefter kører den anden?
Avatar billede mugs Novice
03. august 2004 - 17:27 #56
Nu har jeg ikke fulgt med i Jeres "samtale", men jeg undrer mig over hvad det reserverede ord "Then" laver midt i din kode.
Avatar billede keldo Nybegynder
03. august 2004 - 17:30 #57
MUGS, THEN var bare et gæt fra min side. Men jeg tror det virker nu. jeg er ved at teste. Jeg lavede en opdateringsforsp. som nulstillede alle felter. SÅ kører jeg de andre opd. forsp. bagefter via en kommandoknap. Det virker nok om lidt, så skal i have 1000 tak for hjælpen begge to. I får 50 point hver :-)
Avatar billede mugs Novice
03. august 2004 - 17:35 #58
Then er et reserveret ord som ikke må stå alene. Det benyttes f.eks sammen med en betingelse:

If Me.felt1 = "Hej" Then
MsgBox "Indholdet af felt 1 er = "Hej"2
End If

1. linie er din betingelse, og hvis denne er opfyldt SÅ udføres linie 2, 3. linie afslutter blot din If... Then.

Svarer lidt til:

Hvis du siger at min far er grim THEN
Løber jeg hen til jensen og sladrer
Slut
Avatar billede jensen363 Forsker
03. august 2004 - 17:40 #59
Korrektion :

Løber jeg hen til jensen og sludrer  c",)
Avatar billede mugs Novice
03. august 2004 - 17:41 #60
Nu vi er ved forklaringerne. Hvordan ser din VBA-editor ud? Hvis du har Access standardfarver her, er det ikke særlig tydeligt hvad der er reserverede ord m.v.

Prøv i Tools > Options > Editor Format at lege lidt med farverne. Så tror jeg du vil blive overrasket over, hvor funktionelt det kan blive.
Avatar billede mugs Novice
03. august 2004 - 17:44 #61
LOL :o)
Avatar billede jensen363 Forsker
03. august 2004 - 17:51 #62
c",)
  C( )
Avatar billede keldo Nybegynder
03. august 2004 - 17:55 #63
Det virker fint nu, så et hurtigt tillægsspørgsmål...:-)

I en formular vil jeg gerne have at resultat-antallet af opdateringsforsp. vises i en tekstboks. Hvordan skriver jeg det? Er det noget med Dcount()???
Avatar billede jensen363 Forsker
03. august 2004 - 18:03 #64
DCount("*", "KundeData", "KundeData.[Ja/Nej] = -1")
Avatar billede jensen363 Forsker
03. august 2004 - 18:06 #65
Sorry ... ikke komme, men semicolon imellem kriterierne

DCount("*";"KundeData";"KundeData.[Ja/Nej] = -1")
Avatar billede mugs Novice
03. august 2004 - 18:10 #66
... Som skal være postkilden i en ubundet tekstboks
Avatar billede keldo Nybegynder
03. august 2004 - 18:15 #67
ja ok det virker fint tak. Og hvis jeg så skal ligge dem sammen:

Dsum("forespørgsel1"+"fopresprøgsel"+"Forespørgsel3")
Avatar billede keldo Nybegynder
03. august 2004 - 18:18 #68
jeg kan vel bare summe resultatet af teksboksene...
Avatar billede mugs Novice
03. august 2004 - 18:21 #69
Ok - Du har vel en fortløbende formular og har sat tekstboksen ind i Detaljesektionen. Prøv at indsætte den samme tekstboks i formularfoden, så burde du få den samlede sum af din DCount.
Avatar billede jensen363 Forsker
03. august 2004 - 18:22 #70
Korrekt mht. ubunden tekstboks ...

Herefter kan du summere på tekstboksene ... [TekstBoks1] + [Tekstboks2] o.s.v.

Indsæt også lige Refresh i din programkode for at opdatere felterne, dvs :

Private Sub Kommandoknap236_Click()
   
    DoCmd.SetWarnings False
      DoCmd.OpenQuery "Forespørgsel1", acNormal, acAdd
      DoCmd.OpenQuery "Forespørgsel2", acNormal, acAdd
    DoCmd.SetWarnings True  (Det er denne du mener?)

    Refresh

End Sub
Avatar billede keldo Nybegynder
03. august 2004 - 18:27 #71
ok. I og med jeg sætter flere foresp. igang på denne måde og jeg i alle foresp. har mit [Indtast dato] kriterie, kommer den jo med "pop-up" billede fler gange hvor jeg skal indtaste den samme dato. Er der en måde hvorpå jeg kan nøjes med at indtast datoen 1 gang, og så bruger den datoen i alle foresp.??
Avatar billede mugs Novice
03. august 2004 - 18:28 #72
jensen > Vil det ikke være nok med en Me.Refresh efter kørslen af SQL-sætningerne?

M.h.t. opsummeringen: Hvis der er tale om en fortløbende formular, vil hver tekstboks i detaljesektionen jo have det samme navn. Derfor foreslog jeg at lægge Tekstboksen i formularfoden. I deteljesektionen vil den jo blot vise 1.
Avatar billede keldo Nybegynder
03. august 2004 - 18:30 #73
Jeg har lavet en ny formular hvor den skal summe resultaterne sammen i en tekstboks. det går egentlig ok, bortset fra at den ikke kan summe totaler.....

=Sum([tæl 1]+[tæl 2]+[tæl 3]+[Tæl 4])

Har jeg glemt noget?
Avatar billede mugs Novice
03. august 2004 - 18:30 #74
M.h.t. popUp: så kan du i formularen indsætte en ubunden tekstboks og indtaste datoen heri. Herefter skal du i hver enkelt forespørgsel referere til denne tekstboks således:

[Forms]![Formularnavn]![Feltnavn]
Avatar billede jensen363 Forsker
03. august 2004 - 18:31 #75
Me.Refresh vil have samme virkning c",)
Avatar billede keldo Nybegynder
03. august 2004 - 18:34 #76
ok, så i stedet for at skrive [indtast dato] skal jeg skrive
[Forms]![Formularnavn]![Feltnavn]

Hvad er [Forms]??  [Formularnavn]=den formular jeg laver tekstboksen i og [Fletnavn]= navnet på tekstfeltet jeg skriver datoen i... Ja?
Avatar billede mugs Novice
03. august 2004 - 18:40 #77
[Forms]![Formularnavn]![Feltnavn]:

For at referere til et felt i en formular, er du nødt til at definere:

- Objektsamlingen (Forms)
- Navnet på objektet i samlingen (Navnet på den aktuelle formular)
- Navnet på feltet i objektet (Navnet på feltet der indeholder din dato)

Du er simpelthen nødt til at bevæge dig ned igennem access hieraki for at finde det korrekte felt.

Tænk på det militære hieraki:

En sergent står overfor en samling officerer, hvorfor sergenten er nødt til at henvende sig til den åverste grad:

Hr. General jeg beder om tilladelse til at henvende mig til Oberst TingelTangel

På samme måde med Access, start fra oven og gå nedad.
Avatar billede jensen363 Forsker
03. august 2004 - 18:41 #78
Mugs > tager du over, jeg må løbe ?
Avatar billede keldo Nybegynder
03. august 2004 - 18:42 #79
Ja ok MUGS meget pædagoisk sagt. LOL Men er Objektsamlingen navnet på miin database?
Avatar billede keldo Nybegynder
03. august 2004 - 18:43 #80
Og min sum driller stadig....
Jeg har lavet en ny formular hvor den skal summe resultaterne sammen i en tekstboks. det går egentlig ok, bortset fra at den ikke kan summe totaler.....

=Sum([tæl 1]+[tæl 2]+[tæl 3]+[Tæl 4]) 

Hvor[er navnet på tekstboksfelterne

Har jeg glemt noget?
Avatar billede mugs Novice
03. august 2004 - 18:46 #81
jensen OK, blot der ike er noget med SQL :o)

"Men er Objektsamlingen navnet på miin database"

Nej - Det er blot en angivelse af, at du skal lade forespørgslen referere til en formular
Avatar billede mugs Novice
03. august 2004 - 18:51 #82
Prøv at gå tilbage til den formular hvorfra du kører dine opdateringer.
Nederst i koden (lige over lionien End Sub, sætter du flg:

Me.Refresh
MsgBox DCount("*", "TABELNAVN", "[FELTNAVN] = -1)
Avatar billede keldo Nybegynder
03. august 2004 - 19:00 #83
Mugs jeg vil gerne have total talet i en tekstboks. men den skriver bare ¤fejl i boksen.... Det er da i kontrolelementkilden at jeg skal skrive =sum...osv..?
Avatar billede mugs Novice
03. august 2004 - 19:02 #84
Jeg synes vi skal tage det step for step. Når vi har fået MsgBox til at fungere ved vi, at det er den vej vi skal. Så vær venlig at prøve mit sidste forslag. Bagefter finder vi ud af det med en Tekstboks.
Avatar billede keldo Nybegynder
03. august 2004 - 19:08 #85
ok. Når jeg gør som du siger skriver den:

Compile error:
Expected: List seperater or )

mens den markerer:

  MsgBox DCount("*", "TABELNAVN", "[FELTNAVN] = -1)
Avatar billede keldo Nybegynder
03. august 2004 - 19:09 #86
ja ok min fejl, har ikke rettet TABELNAVN OG FELTNAVN..FLot :-)
Avatar billede keldo Nybegynder
03. august 2004 - 19:10 #87
Men det er jo ikke en tabel med et feltnavn den skal tælle, men resultatet af en opdateringsforespørgsel
Avatar billede keldo Nybegynder
03. august 2004 - 19:12 #88
nej om igen, det er resultatet af en alm. forespørgsel den skal tælle. Jeg har nemlig lavet nogle alm. forespørgsler på baggrund af mine opdateringsforespørgsler. Og det går også fint med hver enkelt tekstboks hvor den indsætter tal-værdierne af hver alm. forespørgsel. Jeg vil bare gerne summe de 5 forskellige værdier sammen.
Avatar billede mugs Novice
03. august 2004 - 19:13 #89
FLOT - Ha ha
Når du har kørt en opdateringsforespørgsel opdaterer du jo tabellen, så du skal blot tælle i tabellen.

Du kan desuden ikke bruge en opdateringsforespørgsel til andet end at opdatere og ikke til en Dcount.
Avatar billede mugs Novice
03. august 2004 - 19:15 #90
Hvis du lægger din e-mail. kan jeg sende dig en testdb med forskellige eksempler på DCount. Jeg sender evt. som en zip-fil.
Avatar billede keldo Nybegynder
03. august 2004 - 19:16 #91
MUGS...JA LOL.. nej ok, men som sagt er det også en alm. forespørgsel jeg skal tælle posterne af
Avatar billede keldo Nybegynder
03. august 2004 - 19:17 #92
Men uden at du må misforstå mig MUGS. Men er det ikke meget enkelt at summe resultatet af enten nogel teksbokse sammen eller bare summe forespørgslerne (de alm.) sammen?
Avatar billede mugs Novice
03. august 2004 - 19:17 #93
Så udskifter du blot tabelnavnet med navnet på din forespørgsel. Access er ligeglad om den skal tælle i en tabel eller en forespørgsel.
Avatar billede mugs Novice
03. august 2004 - 19:18 #94
Det er enkelt nok, blot skal du placere opsummeringen i formularfoden som jeg tidligere har nævnt.
Avatar billede keldo Nybegynder
03. august 2004 - 19:27 #95
Det er uforståeligt. Når jeg laver en tekstboks i formularfoden og indsætter ex:

=Sum([Tæl kun for1])

så skriver den FEJL i tekstboksen. DAMN::::???
Avatar billede keldo Nybegynder
03. august 2004 - 19:29 #96
Jeg har skrevet det i  fanebladet data, kontrolelementkilde....
Avatar billede mugs Novice
03. august 2004 - 19:29 #97
Kan du sende din db til:

mugs(a)mail.dk

med angivelse hvilken formular det drejer sig om.
Avatar billede mugs Novice
03. august 2004 - 19:30 #98
Faneblad > Det har jeg aldrig arbejdet med!!
Avatar billede keldo Nybegynder
03. august 2004 - 19:31 #99
I tekstboksen´s egenskabver er der forskellige faneblade...

Kan desværre ikke sende databasen. Den indeholder for mange følsomme oplysninger.
Avatar billede keldo Nybegynder
03. august 2004 - 19:36 #100
Men MUGS, laver jeg ikke en sum i tekstboksen i formularfoden ved at skrive:

=sum([navnet på forespørgsel 1]+[navnet på forespørgsel 2]+[navnet på forespørgsel 3])

??
Avatar billede mugs Novice
03. august 2004 - 19:37 #101
Nej. Hvis du vil tælle en forespørgsel skal du bruge DCount.
Avatar billede mugs Novice
03. august 2004 - 19:38 #102
F.eks således:

Dim a As Byte, b, c, d
a = Me.Felt2
b = DCount("*", "Tabel1", "[Felt2] =" & a)
c = DCount("*", "Tabel2", "[Felt2] =" & a)
d = DCount("*", "Tabel3", "[Felt2] =" & a)
MsgBox "Værdien " & a & " Forekommer i:" & vbNewLine & "Tabel1: " & b & vbNewLine & "Tabel2: " & c & vbNewLine & "Tabel3 :" & d
Avatar billede mugs Novice
03. august 2004 - 20:02 #103
Tabte du vejret, eller sker der mere idag?
Avatar billede keldo Nybegynder
03. august 2004 - 20:30 #104
Sorry MUGS jeg havde skrevet noget men det forsvandt åbenbart.

Jeg har talt alle 7 forespørgsler. Talresultaterne har jeg i tekstbokse i en formular. Det er fint. Nu vil jeg bare gerne have en tekstboks med summen af alle de tal jeg kan se i de 7 tekstbokse. Der siger du jeg kan lave en ny tekstboks, ubundet, i fomularfoden med følgende i "kontrolelementkilden":

=Sum([tekstboks1]+[tekstboks2]+[tekstboks3]+[tekstboks4]+[tekstboks5]+[tekstboks6]+[tekstboks7])

Men der skriver den #fejl  i feltet istedet for summen.
Avatar billede keldo Nybegynder
03. august 2004 - 20:30 #105
Men jeg kigger lidt på det i aften, ellers skriver jeg igen i morgen tidlig. :-) tak forhjælpen so far.
Avatar billede mugs Novice
03. august 2004 - 20:38 #106
Alt OK.

Mern for at skrue tiden lidt tilbage og have et udgangspunkt, vil jeg anbefale, at du som et forsøg prøver mit forslag Kl 18:51:10. Hvis det fungerer har vi da noget at gå videre med.

Jeg vil stadig gerne se din db. Har du mulighed for at alette alle data og oprette nogle "Anders And" poster?
Avatar billede keldo Nybegynder
04. august 2004 - 09:17 #107
Godmorgen, så er jeg frisk igen :-) Alt virker indtagen summen af de nævnte forespørgsler. Mugs jeg har gjort som du sagde i 18:51:10 så den nu ser ud som følger:

Private Sub Kommandoknap104_Click()
 
  DoCmd.SetWarnings False
      DoCmd.OpenQuery "Tæl kun 1", acNormal, acAdd
      DoCmd.OpenQuery "Tæl kun 2", acNormal, acAdd
      DoCmd.OpenQuery "Tæl kun 3", acNormal, acAdd
      DoCmd.OpenQuery "Tæl kun 4", acNormal, acAdd
      DoCmd.OpenQuery "Tæl kun 5", acNormal, acAdd
           
    DoCmd.SetWarnings True

    Refresh
    Me.Refresh
MsgBox DCount("*", "TABELNAVN", "[FELTNAVN] = -1)
     
End Sub

Men jeg er stadig ikke med på hvad der skal stå i stdet for TABELNAVN og FLETNAVN  Det er jo 5 forskellige tabeller den skal tæle og lægge sammen. Hvad skal jeg skrive i TABELNAVN og FELTNAVN?
Avatar billede mugs Novice
04. august 2004 - 10:18 #108
Så er du nødt til at lave nogle variabler. Udskift "TABELNAVN" og "FELTNAVN" med navne på de respektive objekter:

Dim a As Byte, b, c, d, e

a = DCount("*", "TABELNAVN", "[FELTNAVN] = -1)
b = DCount("*", "TABELNAVN", "[FELTNAVN] = -1)
c = DCount("*", "TABELNAVN", "[FELTNAVN] = -1)
d = DCount("*", "TABELNAVN", "[FELTNAVN] = -1)
e = DCount("*", "TABELNAVN", "[FELTNAVN] = -1)

Me.TEKSTBOKS = a+b+c+d+e
Avatar billede keldo Nybegynder
04. august 2004 - 10:25 #109
MUGS, skal jeg lave ovenstående SQL i en ubundet tekstboks i en formulerfod?
Avatar billede mugs Novice
04. august 2004 - 10:27 #110
Ovenstående er VBA og ikke SQL. Sæt det ind i formularfoden og husk at rette tabelnavne / feltnavne og Me.Tekstboks
Avatar billede keldo Nybegynder
04. august 2004 - 10:29 #111
En VBA, altså jeg skriver det i kontrolelementkilden??
Avatar billede keldo Nybegynder
04. august 2004 - 10:39 #112
Undskyld MUGS, men jeg er ikke helt med på hvor jeg skal skrive ovenstående VBA?
Avatar billede keldo Nybegynder
04. august 2004 - 10:47 #113
I øvrigt, tror jeg ikke at ovenstående VBA vil fremkomme med det rigtige resultat. Som jeg ser det, tæller den i tabellen og ikke resultatet af min forespørgsel. Det jeg vil have talt ligger i en forespørgsel. Kan jeg så bare udskifte "TABELNAVN" med "FORESPØRGSELSNAVN"??
Avatar billede mugs Novice
04. august 2004 - 11:21 #114
Som udgangspunkt laver du en kommandoknap og lægger koden i dennes VedKlik hændelse.
Når du har kørt en opdateringsforespørgsel, er data jo ændret i tabellen, men du kan sagtens tælle i en udvælgelsesforespørgsel. Du udskifter blot 2Tabelnavn" med navnet på din forespørgsel.
Avatar billede keldo Nybegynder
04. august 2004 - 11:27 #115
ok, nu ser den sådan ud:

Private Sub tæl_total_Click()
Dim a As Byte, b, c

a = DCount("*", "kundedata", "[kunde1] = -1)
b = DCount("*", "kundedata", "[kunde2] = -1)
c = DCount("*", "kundedata", "[kunde3] = -1)

Me.tæl total = a + b + c

End Sub


Men den siger : Compile error: Syntax error

og markerer: Private Sub tæl_total_Click()
Avatar billede mugs Novice
04. august 2004 - 11:32 #116
TRor det skyldes, at dit procedürenavn indeholder underscore. Omdøb din kommandoknap til "tæltotal".

ALDRIG melemrum eller specialtegn (/,- o.s.v.) i objektnavne ALDRIG
Avatar billede keldo Nybegynder
04. august 2004 - 11:41 #117
MUGS, der maglede et "efter "[kunde1]...
Nu brokker den sig ikke mere over det. Men nu siger den "Run-time error 13, type mismatch og markerer...: a = DCount("*", "kundedata", "[kunde1]" = -1)
Avatar billede keldo Nybegynder
04. august 2004 - 12:02 #118
En frisk en ser sådan ud:

Private Sub Kommandoknap109_Click()
    Dim a As Byte, b, c

    a = DCount("*", "kundedata", "[kunde1]" = -1)
    b = DCount("*", "kundedata", "[kunde2]" = -1)
    c = DCount("*", "kundedata", "[kunde3]" = -1)

    Me.tæltotal = a + b + c

End Sub

Hvor Me.tæltotal er tekstboksen hvor resultatet af a+b+c skal stå.
Men den siger stadig fejl:

"Run-time error 13, type mismatch" og markerer...:
a = DCount("*", "kundedata", "[kunde1]" = -1)
Avatar billede keldo Nybegynder
04. august 2004 - 12:35 #119
HEj MUGS, er du her endnu?? :-)
Avatar billede mugs Novice
04. august 2004 - 12:49 #120
Rolig - Jeg kan ikke sidde her konstant :o)

Type mismatch betyder at du prøver at sammenlig alfenumeriske værdier med numeriske.
Så kontroller at [kunde1] er numerisk.
Avatar billede keldo Nybegynder
04. august 2004 - 13:01 #121
Kunde1 er et ja/nej felt med afkrydsningsboks. Hvordan ser jeg om den er numerisk i tabellen?
Avatar billede mugs Novice
04. august 2004 - 13:04 #122
Et ja/nej felt er numerisk. Check [kunde1] er numerisk ved at se på felttypen i tabellens designvinsing
Avatar billede keldo Nybegynder
04. august 2004 - 13:10 #123
hmm, felt kunde1 i tabellen kundedata er:

Format: ja/nej
Titeltekst: (Blank)
Standardværdi: (Blank)
Valideringsregel: (Blank)
Valideringsmeddelelse: (Blank)
Obligatorisk: Nej
Indekseret: Nej

Opslag, Viskontrolelement: Afkrydsningsfelt

Hvor kan jeg se det er numerisk???????
Avatar billede mugs Novice
04. august 2004 - 13:14 #124
...Check [kunde1] er numerisk ved at se på felttypen i tabellens designvinsing
Avatar billede keldo Nybegynder
04. august 2004 - 13:18 #125
MUGS, det kan godt være det er mig der er dum eller snorksover, men er "felttypen i tabellens designvisning", ikke det jeg lige har beskrevet ovenfor?
I access klik på tabeller, åben tabellen "Kundedata" i designvisning, og marker feltet hvor jeg vil se egenskaber. I det her tilfælde Kunde1. Nederst til venstre kan jeg så se feltet egenskaber.
At du skriver det samme to gange gør det jo ikke bedre...*LOOL*
Avatar billede keldo Nybegynder
04. august 2004 - 13:19 #126
Jeg må være dum, for jeg forstår det ikke.... *GG*
Avatar billede mugs Novice
04. august 2004 - 13:21 #127
Eller også er det mig :o)
Avatar billede keldo Nybegynder
04. august 2004 - 13:27 #128
*LOL* uanset hvem af os det er, hvad gør jeg så?

Hvis vi nu i stedet siger at det ikke er tabellen kundedata den skal hente kunde1 fra, men i stedet en forespørgsel der hedder "tæl1". Der skal den egentlig bare tælle antallet af posten i resultatet af forespørgslen. Gør det det lettere?
Avatar billede mugs Novice
04. august 2004 - 13:30 #129
Du gør sådan her:

Private Sub Kommandoknap4_Click()
Dim a As Byte, b
a = DCount("*", "TBLkundedata", "[kunde1] = 0")
b = DCount("*", "TBLkundedata", "[kunde1] = -1")
Me.tæltotal = a + b
End Sub

Helt dum er du da ikke, men hvis du er så her jeg da en stor aktie i din dumhed :o)

Sorry.
Avatar billede keldo Nybegynder
04. august 2004 - 13:30 #130
Grundlæggende er det jo blot antallet af poster i 3 forskellige forespørgsler, jeg gerne vil have lagt sammen. ex. Forepørgsel1 indeholder 768 poster, Forepørgsel2 indeholder 123 poster og forespørgsel3 indeholder 15 poster. Ergo 768+123+15=906. Altså skal der stå 906 i en tekstboks i en formular.
Hvor svært kan det værre...? Åbenbart meget svært... * :o)
Avatar billede mugs Novice
04. august 2004 - 13:33 #131
Hvis du blot vil tælle antal poster behøver du jo ikke noget kriterie:

DCount("*","Forespørgsel1")
Avatar billede mugs Novice
04. august 2004 - 13:40 #132
Hvis du lægger din e-mail, kan jeg sende dig en lille testdb, der viser dig forskellige former for DCount med eller uden kriterier.
Avatar billede keldo Nybegynder
04. august 2004 - 14:02 #133
MUGS for pokker, nu virker det. Det var jo enkelt når det kom til stykket. Tak for hjælp, du får point.
Avatar billede mugs Novice
04. august 2004 - 14:11 #134
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