Dmax werkt niet

Status
Niet open voor verdere reacties.

dscjve

Gebruiker
Lid geworden
23 jan 2017
Berichten
19
Vanuit mijn schakelbord wil ik het laatst gebruikte faktuurnummer in mijn tabel Historie ophalen met:

[Faktuurnummer] = Dmax("[Faktuurnummer]","Historie") en krijg de melding: Kan het veld niet vinden waarnaar wordt verwezen in de expressie.

Alvast dank Co van Eijkelenburg
 
DMAX heeft drie vereiste argumenten.

[factuurnummer] = worksheetfunction.DMax(database, veld, criteria)

of:
[factuurnummer] = application.DMax(database, veld, criteria)

Of evalueren.

[factuurnummer] = [DMax(database,veld,criteria)]

 
Bedankt voor je reaktie Harry.

Maar: [Faktuurnummer] = Dmax("[Faktuurnummer]","Historie","Faktuurnummer>10000")+1
werkt ook niet, wat nu?
 
Dan is het verstandig om een voorbeeld-bestand te plaatsen.
 
Bmax:

Beste Harry,

Als ik een formulier maak met de historie en daarop een knop met voorgaande routine werkt het wel.
Ik heb echter geen formulier open op mijn schakelbord. Zou dat het probleem zijn en hoe moet ik dat dan oplossen?

Mvrgr Co v E
 
Hallo Co,

Schakelbord is iets van Access toch?

Ik ben meer van Excel.
Er is hier zonder andere helpers te kort te doen maar een die hier heel vaak voorbij komt, nl. @OctaFish.
Misschien pikt die de vraag op.
 
Bmax

Ja dat is zo. Ik ben met acces bezig.

Over excel heb ik nog een vraagje: Als in een kolom de getallen alfanumeriek staan bijv 92,- ipv 92,00 is er dan een routine deze kolommen numeriek te maken..

Mvgr Co v E
 
Ligt er een beetje aan wat er precies in de cel staat.

Normale getallen als tekst opgemaakt staan links uitgelijnd.

Type ergens in een lege cel een 1.
Kopieer die 1 (rechtermuisklik op die cel en kopieren).
Selecteer de alfanumerieke cellen, rechtermuisklik → plakken speciaal → formules en getalnotaties aanvinken en vermenigvuldigen aanvinken → Ok.

Als het goed is staan er nu getallen en die staan rechts uitgelijnd.
 
Als je nog antwoord wil op je vraag, en een totaal andere vraag hebt over Excel, kun je daar beter een vraag voor maken in het Excel forum, want anders gaat de boel wel heel erg verwarrend worden. :).
Ik snap eerlijk gezegd niet waarom je functie niet werkt, want de structuur is prima. Even een testje gedaan in een willekeurig niet-gebonden startformulier in een eigen db en geen probleem.
Code:
    MsgBox DMax("[DossierID]", "tDossiers")
Het enige dat ik kan bedenken is dat je dit eens zou kunnen proberen, er vanuit gaande dat het veld Factuurnummer dus wél op je formulier staat:
Code:
    Me.Faktuurnummer = Dmax("[Faktuurnummer]","Historie")
Maar ik denk dus dat daar je probleem ligt; je hebt het over een schakelbord, en dat zijn meestal niet-gebonden formulieren. Daar kun je dus best een tekstvak opzetten, mits je de naam van dat tekstvak goed hebt getypt.
 
Ik heb op mijn schakelbord een knop gemaakt in de hoop met de hieronder geplaatste VBA-routine het laatste faktuurnummer uit de historie op te halen in het tekstblok FnrTmp.

Private Sub Knop188_Click()

[O-nr-faktuur] = DMax("[o-nr-faktuur]", "Historie") + 1
Forms![Schakelbord]![FnrTmp] = [O-nr-faktuur]

End Sub

Ik krijg steeds de melding: Kan het veld niet vinden.

Het lijkt er op dat de tabel historie niet gevonden kan worden, wat nu?
 
Heb je het al met een Msgbox geprobeerd? Dat is altijd het eerste dat ik doe als ik wil weten of een waarde überhaupt wel wordt opgehaald.
Ik vind je code overigens een beetje vreemd, want wat is in deze situatie [O-nr-faktuur]? Je gebruikt het als een veldnaam, maar waarom zet je de formule dan niet gelijk op het formulier?
Code:
Private Sub Knop188_Click()
     Me.FnrTmp = DMax("[o-nr-faktuur]", "Historie") + 1
End Sub
En om te testen:
Code:
Private Sub Knop188_Click()
     MsgBox DMax("[o-nr-faktuur]", "Historie") + 1
''     Me.FnrTmp = DMax("[o-nr-faktuur]", "Historie") + 1
End Sub
 
Bedankt voor de tip. Alles werkt nu zoals ik het wil.
Je hebt een bijna 82 jarige prima geholpen.

Co van Eijkeleburg
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan