Tekstvak moet '0' waarde geven

Status
Niet open voor verdere reacties.

oosterbaan S S

Gebruiker
Lid geworden
13 mrt 2005
Berichten
128
Hallo

Ik heb op een formulier een tekstvak geplaatst, die gevoed wordt door een besturingselementbron.

Nu wil ik dat er standaard een '0'waarde wordt ingevoerd, maar dat lukt me niet door > gegevens >standaardwaarde '0'.

Pas als de besturingselementbron wordt geactiveerd wordt er in het tekstvak een '0' waarde (of hoger)ingevoerd.

Hoe los ik dit op? Bedankt alvast.
 
Hallo,

Als je tekstvak is gebaseerd op een tabel/query kan het wel als je de eigenschap Gegevensinvoer van je formulier op Ja zet. Je formulier is dan alleen geschikt om nieuwe gegevens in te voeren.
Het kan ook door bij het openen van je formulier meteen naar een nieuw record te gaan:

Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec
End Sub

Makaai:thumb:
 
Beankt Makaai voor je antwoord.
Ik heb je raad opgevolgd maar als ik echter op het formulier, waar het tekstvak op geplaatst is, de gegevensinvoer op 'ja' zet, ben ik alle - eerder ingevoerde records- kwijt. Dat is dus niet de bedoeling.

p.s. het tekstvak is niet gebaseerd op een query, maar op de uitkomst van een subformulier. Dit subformulier moet geactiveerd worden wil ik een waarde in mijn tekstvak krijgen. Het zou het mooiste zijn als er staandaard een '0' waarde in staan.
 
dit misschien eens proberen.

Private Sub Form_Activate()
me.(naam van uw tekstvak) = "0"
 
Scarie,

Waar plaats ik de tekst: in het tekstvak, eigenschappen>tab gebeurtenis> na bijwerken??
of in het subform>eigenschappen>etc.

p.s. bij beiden werkt het niet??
 
U gaat naar de eigenschappen van uw hoofdformulier en daar gaat u naar "na bijwerken" en kies dan de programmacode en daar zet u de VBA code in
 
Hallo Scarie

Bedankt voor je reactie. Helaas werkt het bij mij nog steeds niet.
Als ik de vba code plaats krijg ik de volgende foutmelding: compileerfout. Verwacht: aanduiding of expressie tussen haakjes.

Heb je (of iemand anders) nog een suggestie??
Bedankt alvast.
 
Hallo,

Hoe heb je de naam van je tekstvak in de code opgenomen?
Als je tekstvak bijv. txtVak1 heet moet je code er zo uitzien:

  • Private Sub Form_Activate()
    me.txtVak1 = "0"
    End Sub
Makaai:cool:
 
Beste allemaal,

Ik doe nog eens een poging om mijn probleem uit te leggen. Ondanks alle antwoorden hieronder is de oplossing nog steeds niet gevonden.
Waar gaat het over:

ik heb een selectiequery, waar de omzet van een bepaalde collega in geselecteerd wordt. Soms is er omzet in een bepaalde periode, maar soms ook niet.

De querie is gekoppeld aan een formulier waar het veld "omzet" de uitkomst van de query weergeeft. Het veld "omzet" op het betreffende formulier is gekoppeld aan een tekstveld op een ander formulier. Dit tekstveld is gekoppeld aan een "totaal omzet veld" die de waarde uit verschillende omzetvelden optelt.

Nu het probleem:
is de uitkomst van de query positief, dan ontvangt het veld "omzet" een waarde van de query en het tekstveld op het andere formulier geeft dan dezelfde waarde. Het "totaal omzet veld" krijgt nu ook de waarde. Tot zover gaat het goed.

Is de uitkomst van de query echter negatief dan blijft het veld "omzet" blanko en het tekstveld op het andere formulier geeft een "fout" melding. Het "totaal omzet veld" ontvangt nu ook geen input uit het tekstveld en geeft nu ook een "fout"melding.

De oplossing is dat bij een negatieve uitkomst van de qeury, het tekstveld dat gekoppeld is aan het veld "omzet" toch op de een of andere manier een (0) waarde krijgt.

Duidelijker als hierboven omschreven kan haast niet dus wie heeft de oplossing.......
:confused:
 
Los het op in je query, dan ben je op al je formulieren van het probleem af.
Stel je veld heet fldOmzet
Zet in het veld waar je omzet komt de volgende expressie:

=iif(fldOmzet <=0;0;fldOmzet)

Ik weet even niet zeker of de = ervoor moet, gewoon proberen.
Kijk ook eens in de help van de iif functie, dan begrijp je wat ie doet.
 
Beste Bartuls,

Als ik de query aanpas krijg ik de volgende foutmelding (zie screendump)
Wat doe ik verkeerd....?:confused:
 

Bijlagen

Laatst bewerkt:
Ook hier weer de standaard opmerking.
Post je mdb even, dan kan er gekeken worden wat in jou geval de meest handige oplossing is.
 
het is misschien wat laat.:o

Maar ik heb ook een zelfde soort probleem op dit moment.,
als ik van een bepaalde functie niks toevoeg dus bijvoorbeeld geen magazijnmedewerker(VTL meedewerker op het bijgevoegde plaatje) of chauffeur geeft hij op het laatste blad ook geen waarden weer en ik wil juist dat hij op zijn minst onder aantal 0 weer geeft en bij totaal € 0,00

en onderaan moet hij dan dus ook waarden weer geven ook.
kan iemand mij hier mee helpen.

o ja als je er 1 zoekt met waarden dan kun je bij week het getal 33 invullen

Bekijk bijlage 98389
http://www.easy-share.com/1910511134/aangepaste versie facturatie personeel +wagens 2010.mdb

PS: heb de database met easy share geupload omdat hij te groot was voor de uploader an dit forum. ;)
 
Laatst bewerkt:
Je zou inderdaad eigenlijk een nieuwe topic aan moeten maken; is wel zo netjes ;)
Maar aangezien de oplossing niet zo moeilijk is, toch maar een antwoordje.
Je kunt een standaardwaarde invoeren bij het activeren van het formulier. Je zet dus de volgende code bij de gebeurtenis <Bij Aanwijzen>:

Code:
Private Sub Form_Current()
     Me.Tekstvak.Value=0
End Sub

Verder heb ik geen idee welk formulier of rapport moet worden bewerkt? Ik zie er geen een die overeenkomt met je plaatje...
 
het is ook een rapport zat ik net te kijken :o, en dat rapport heet wagens totaal inclusief btw en dan daar als hij vraagt om week nummer 33 invullen en dan op de 4e pagina. zie je het zelfde als de afbeelding ;)
 
Had ik inmiddels zelf ook ontdekt :)

Dan is de oplossing een heel stuk simpeler: Je moet de formules uitbreiden met de Nz functie:
Als voorbeeld de formule op het tekstvak [Chauffeur100]
Vervang
Code:
=DSum("[Ma uren] + [Ma overuren] +  [Di uren] + [Di overuren] +  [Wo uren] + [Wo overuren] +  [Do uren] + [Do overuren] +  [Vr uren] + [Vr overuren] +[MaFac]+[DiFac]+[WoFac]+[DoFac]+[VrFac]  ";"Chauffeurs";"week=" & [week] & " And  [functie] = 'bijrijder'")
door
Code:
=Nz(DSum("[Ma uren] + [Ma overuren] +  [Di uren] + [Di overuren] +  [Wo uren] + [Wo overuren] +  [Do uren] + [Do overuren] +  [Vr uren] + [Vr overuren] +[MaFac]+[DiFac]+[WoFac]+[DoFac]+[VrFac]  ";"Chauffeurs";"week=" & [week] & " And  [functie] = 'bijrijder'");0)

En dat doe je bij alle berekeningen. Eigenlijk hoef je dus alleen maar Nz( er voor te zetten, en ;0) er achter.
 
en dat zelfde geld dan ook voor die totalen, dus alles wat onder totaal staat?
dit doet hij natuurlijk automatisch zo gauw hij ziet dat er bij aantal 0 staat of niet?


die code met Nz bij die Dsum werkt in ieder geval :)
 
Laatst bewerkt:
Je kan het doen bij alle berekeningen waarvan je vermoed dat ze problemen opleveren bij vervolgberekeningen.
Overigens snap ik dit ook niet zo goed:
=[TotBakwagen85]*"0,19"
Waarom niet gewoon =[TotBakwagen85]*0,19?
 
mag ik je nogmaals heel erg bedanken voor de code, het was precies wat ik zocht. :thumb::thumb::thumb::thumb::thumb::thumb::thumb::thumb::thumb::thumb::thumb::thumb::thumb::thumb::thumb::thumb::thumb::thumb::d:cool:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan