Standaard waarde van een veld (tabel)

Status
Niet open voor verdere reacties.

mschrijver

Gebruiker
Lid geworden
1 apr 2011
Berichten
40
Goedemorgen,

Ik ben bezig met een database voor in ons lab.

De database bestaat uit verschillende tabellen, waaronder contact, labgegevens en een vooronderzoek tabel.

Ik wil in de vooronderzoek tabel een aantal waardes kwijt, waaronder de diameter van de mal die gebruikt is. (zie screenshot)

Echter, op dit moment moet er per monsternummer een diameter worden ingevoerd. Terwijl er voor elk monster in de database dezelfde mal wordt gebruikt.

Heb je een stuk of 5 monsters is dat nog niet zo erg, maar heb je er 25+ dan wordt je er best naar van.

Dat moet toch makkelijker kunnen dacht ik zo?

Dit had ik in gedachten

1) Er moet een manier zijn om alle velden tegelijk te vullen, zodat de gebruiker maar een keer de diameter hoeft in te voeren.

2) Er kan een standaard waarde voor een veld ingevuld worden, misschien is het wel mogelijk om de gebruiker die standaardwaarde te laten invullen, voordat hij alle data in gaat voeren.

Ik heb om verschillende methodes te testen een formulier gemaakt, met daarin een textboxje. Als ik in de query (waar het formulier op gebasseerd is) aangeef dat de diameter de waarde van het textboxje is, dan werkt het prima. Echter, dat zou betekenen dat het formulier altijd actief moet zijn, wil je die waardes gebruiken voor een rapport of iets dergelijks.

Mijn vraag is:

Is het mogelijk om de standaardwaarde van een veld (tabel) te programmeren zo dat de gebruiker de waarde op kan geven? Is dat niet het geval, kan het invoeren van alle diameters misschien op een andere manier?

Alvast bedankt !
 

Bijlagen

  • naamloos.JPG
    naamloos.JPG
    72,5 KB · Weergaven: 34
Begrijp ik het goed, je wilt een standaardwaarde die geen standaardwaarde is? Waarom zou je die dan willen vullen? Een staandaardwaarde gebruiken heeft pas zin als hij niet veranderd. In jouw geval kun je beter met ee Public variabele werken die je één keer vult, bijvoorbeeld via een tekstvak op je formulier. Zolang Access actief is, kun je de waarde uit die variabele gebruiken. Een formulier hoeft dusniet open te blijven staan.
 
Nou, het zit namelijk zo.

Op dit moment maken ze per project nummer een database aan. In feiten kopieren ze de moeder database en die plakken ze op het netwerk in een folder.

Ze doen het al een jaar of 5-6 op deze manier.

Niet ideaal, vandaar dat we op het punt staan om een sql server te bouwen en in te richten.

Maar goed, back to the point..

Thanks voor de info wat betreft de public variabele. Ik zal even kijken of ik er wat van kan bakken..

Nogmaals bedankt.
 
Als je voor ieder monster dezelfde mal gebruikt kun je bij je tekstvak de Default value op 150,1 zetten (rechtermuisknop, properties)
hiermee kan de gebruiker altijd alsnog een afwijkende waarde invoeren, indien hij een andere mal gebruikt.
 
Die tip is hetzelfde als een standaardwaarde invullen bij de Veldeigenschappen. Dat zou dan mijn voorkeur hebben. Maar ik heb het idee dat je de in te voeren waarde variabel wilt hebben. Dus wat wil je eigenlijk?
 
Wat ik wil? De gebruiker ontzien van het moeten invoeren van een diameter, voor elk monsternummer. Terwijl de diameter altijd hetzelfde is. (voor dat project)

Nu kan ik inderdaad de standaardwaarde in de ontwerpweergave opgeven. Maar op de manier waarop het lab waarvoor ik dit maak te werk gaat, namelijk een kopie maken van een moederdatabase voor elk project, waar misschien andere diameters worden gebruikt, lost het weinig op.

Ik dacht dat het misschien met behulp van VBA mogelijk zou zijn om de defaultvalue te wijzigen, in zoverre dat de gebruiker het zou kunnen opgeven.

Dat lijkt dus niet mogelijk te zijn, dus zou ik inderdaad met een textbox moeten werken, in een public/global variabele stoppen, en vervolgens kijken of ik die variabele aan kan roepen om een X aantal formules te kunnen uitrekenen.

Wat heb ik nu:

Ik heb het op dit moment zover, dat de query naar de textbox op het formulier kijkt, de waarde overneemt, en vervolgens die waardes gebruikt om een aantal waardes uit te rekenen.

Alleen gaat de waarde van de textbox, verloren bij het sluiten van het formulier. Wat betekend dat hij om die parameter gaat vragen, als ik een rapport maak op basis van dezelfde query.

Dan kan ik twee dingen doen, de waarde van de textbox in een variabele stoppen, of het rapport vanuit het formulier laten openen.
 
Dat laatste lijkt me het meest logisch, immers elk record is verschillend en op basis van je geselecteerde record, wil je betreffend record op het rapport laten verschijnen, anders moet je voor elke meting alsnog scrollen naar bijbehorend rapport
 
Je kunt (op je formulier) uiteraard altijd met VBA de standaardwaarde veranderen. Alles wat je met de hand kan doen, kan namelijk ook geautomatiseerd. In jouw geval zou ik de waarde overigens niet als standaardwaarde vastleggen, want dat heeft niet zoveel zin. Wat je eigenlijk wil, is dat op basis van een project(code) een waarde wordt ingevuld met de juiste diameter. Je kunt dat volgens mij ook wel zonder programmeren doen, door bij je projectgegevens een veld op te nemen met daarin die diameter. Als je dan je detailrecords toevoegt, haal je met je query de goede waarde gelijk op. Maar dat zou mijn oplossing zijn. Al ken ik uiteraard de opbouw van je db niet, dus ik weet niet of dat een oplossing is.
De VBA oplossing maak je bij de <Bij aanwijzen> gebeurtenis van het formulier. Op basis van je projectcode zet je dan iets als:

Code:
SELECT CASE Me.ProjectCode
     CASE 123 
          Me.Diameter=15,1
     CASE 231 
          Me.Diameter=16,9
     CASE 321 
          Me.Diameter=17,5
END SELECT
Je doet dus niks met de standaardwaade, maar je vult het formulier bij het aanmaken van een nieuw record met de juiste waarde.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan