Avatar billede fastwrite Nybegynder
29. juni 2002 - 01:56 Der er 9 kommentarer og
1 løsning

kigge i forespørgsel med dmax

Hej.

Jeg har en formular (f01). Denne formular bruger forespørgsel (fo-01) til at hente informationer. I min formular har jeg også en datofelt, hvor jeg skal skrive datoen. Når jeg har gjort det, skal jeg have en kode der kan kigge på fo-01 forespørgslen med en DMAX (fx 100), og automatisk lægge 1 til, så feltet vil vise 101 på min formular.

Hvorledes gør jeg det?

Jeg har prøvet meget forskelligt, men må nu have hjælp!
Avatar billede terry Ekspert
29. juni 2002 - 10:07 #1
Hi fastwriter, not heard from you for a while! You can send your dB to me
terry@santhell.dk and I will take a look, hard to see exactly what your trying to do.

mvh
Terry
Avatar billede fastwrite Nybegynder
29. juni 2002 - 11:09 #2
Hi Terry - ja, det er lang tid siden :) Men godt at se at du stadigvæk er herinde.

Hvad jeg har brug for er noget kode der kigger på min query i mit felt NUMMER - og finder den højeste værdi.

Denne værdi - hvis den fx er 100 - skal den næste værdi være 101 - og denne værdi skal koden så indsætte i min forespørgsel, men først efter at jeg har skrevet datoen.

Jeg kunne forestille mig noget i retning af

DoCmd.RunSQL "Insert into q-faktura ( fakturanummer ) Select " & DMax("fakturanummer", "q-faktura") + 1

q-faktura = forespørgsel
fakturanummer = field i forespørgsel
Avatar billede terry Ekspert
29. juni 2002 - 11:15 #3
Dim NextVal as double


NextVal = 1 + DMax("fakturanummer","q-faktura")

Docmd.runsql "INSERT "Insert into q-faktura ( fakturanummer ) VALUES " & NextVal & ")"

where is the date used?
Avatar billede terry Ekspert
29. juni 2002 - 11:16 #4
not quite right!
Docmd.runsql "INSERT "Insert into q-faktura ( fakturanummer ) VALUES (" & NextVal & ")"
Avatar billede fastwrite Nybegynder
30. juni 2002 - 03:47 #5
Den vil jeg prøve!!! Tak Terry!!
Avatar billede fastwrite Nybegynder
30. juni 2002 - 04:06 #6
Terry - den virker tildels.. det skal være sådan, at lige så snart jeg har skrevet datoen i mit datofelt (dato), så skal den opdatere feltet fakturanummer med det højeste nummer. Jeg kan se at din kode virker, men den kommer med en SYNTAX ERROR in INSERT INTO STATEMENT..?
Avatar billede terry Ekspert
30. juni 2002 - 10:27 #7
Yes I can see there is STILL a little error in th esyntax, sorry!

Docmd.runsql "Insert into q-faktura ( fakturanummer ) VALUES (" & NextVal & ")"

I'm still not quite sure how your using the date field!

If I understand your problem correctly then try this!

In the after update event for the date field OR the before update event for the record.

Me.fakturanummer = 1 + DMax("fakturanummer","q-faktura")

Where me.fakturanummer is the field on the form!
Now you dont need to use INSERT into .....
Avatar billede fastwrite Nybegynder
30. juni 2002 - 13:59 #8
YES!!!! Nu virker det.. Min kode er følgende, i min AFTER UPDATE event, når jeg har skrevet en dato:


Private Sub Fakturadato_AfterUpdate()

If [Fakturadato] < 0 Then
MsgBox "Du skal skrive en fakturadato"

Else
Me.Fakturanummer = 1 + DMax("fakturanummer", "q-tilfakturering")
 
End If

End Sub


TERRY - TUSIND tak for hjælpen!! Endnu engang kom du mig til undsætning!!

Er du ved at få lavet en usb-port til din hjerne? :)
Avatar billede terry Ekspert
30. juni 2002 - 14:14 #9
No USB port but I am trying to find a way of copying it over to a CD and then selling it!
and thanks for the points :o)
Avatar billede lenton Nybegynder
17. marts 2004 - 20:56 #10
Ok, how exactly is the syntax for DMax?
This is what I tried: DMax("Reference";"Kunde";"Institution=1")

I haven't got a clue about the "Criteria" syntax.
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