[Access] Invulkeuze

Pagina: 1
Acties:

  • Sherlock
  • Registratie: Mei 2000
  • Laatst online: 20:17
Ik ben bezig om een Access database te maken, waar gebruikers gegevens in kunnen vullen van Aanleverbonnen (EAB's) om later facturen mee te kunnen controleren.

De bedoeling is dat men gegevens invult om later dmv een query een weekoverzicht te krijgen. De gegevens die ingevuld worden zijn:
*EAB nummer
*Datum
*Product
*Pallet
(dit is trouwens verkort, maar de manier van werken is voor de rest hetzelfde)

Ik heb nu een aantal tabellen gemaakt:
*Product; in deze tabel staan de verschillende producten
*Pallet; in deze tabel staan verschillende pallets met hun prijzen
*EAB nummer; hier staat het nummer in (is niet uniek, aangezien er op één bon meerdere artikelen kunnen staan), de datum van de EAB, en de velden ProductID en PalletID

De relaties tussen de tabellen zijn gelegd, dus de tabel Product is gelinkt met de tabel EAB nummer dmv het ProductID.

Nu wil ik dus een formulier maken waarbij je de datum en het EAB nummer in moet vullen, maar het product en het pallet kunt kiezen uit een dropdown lijst. Hoe pak ik dat aan?

Vervolgens moet dat natuurlijk opgeslagen worden in een tabel, maar in welke? Kan dat in de tabel EAB nummer, of moet ik daar een aparte tabel voor maken?

And if you don't expect too much from me, you might not be let down.


  • Preatorium
  • Registratie: September 2001
  • Laatst online: 26-07 18:25
Opzich simpel te doen allemaal. Makkelijkst en handigst is om het volgende boek aan te schaffen, heb er zelf veel aan.

http://www.bruna.nl/is-bi...te_name=name&teruglink=ja

Remember this; very little is needed to make a happy life. ~ Marcus Aurelius Antoninus (121-180)


  • Sherlock
  • Registratie: Mei 2000
  • Laatst online: 20:17
Daar zat ik toch al aan te denken, aan een boek aanschaffen. De readers die ik nog van school heb zijn allemaal nogal erg basic. Niet dat dit nu zo ingewikkeld is, maar als je net iets anders wil dan wordt het al snel lastig al het een poosje geleden is...

Toch denk ik dat ik al een heel eind ben; heb de verschillende tabellen gemaakt, de relaties gedefinieerd, de rest is meestal niet zo moeilijk.

Ik hoop toch ook dat ik hier straks antwoord op krijg, aangezien ik anders niet echt verder kan...

And if you don't expect too much from me, you might not be let down.


  • Preatorium
  • Registratie: September 2001
  • Laatst online: 26-07 18:25
Juist de basis als de tabellen en queries zijn simpel. 'geavanceerde' formulieren en rapporten kunnen erg irritant te bouwen zijn in Access. Met VBA is echter veel mogelijk onder water.
Pulldown list is vanuit de formulierbuilder gewoon te selecteren en middels een wizard te koppelen aan de selectiebox. Voor het inkloppen van de datum ed. zul je een invoereld moeten plaatsen moeten plaatsen via een save knop voegt Access alles netjes toe aan de tabellen.

Remember this; very little is needed to make a happy life. ~ Marcus Aurelius Antoninus (121-180)


  • Sherlock
  • Registratie: Mei 2000
  • Laatst online: 20:17
Juist, dat was het! Dat invoervakje voor de datum was natuurlijk al bekend, maar ik kon er niet meer opkomen hoe nu die keuzelijst tevoorschijn getoverd kon worden... Bedankt!

And if you don't expect too much from me, you might not be let down.


  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 02-08 18:07
Een boek is natuurlijk ook altijd handig, maar in bijna ieder microsoft-programma zit een prima help-functie ingebouwd. Als je even op F1 drukt, dropdown intypt en de eerste paar antwoorden doorleest had je het antwoord zelf ook prima kunnen vinden.

  • Sherlock
  • Registratie: Mei 2000
  • Laatst online: 20:17
Op zich ben ik het daar wel mee eens, maar de hulp functies zijn nu niet zo geweldig dat je verder niks nodig hebt.

Ik heb net wel nog even gezocht op keuzelijst (NL versie) en inderdaad; hetgeen ik zocht was de tweede "hit". My bad dus.

Zoals je al aan zag komen heb ik nog een vraag:
Ik ben nu bezig met de query om het aantal pallets te vermenigvuldigen met de prijs van de pallets.
De gegevens die ik heb zijn:
Tabel: EAB nummer; veld: aantal pallets; veld: soort pallets
Tabel: Pallets; veld: prijs pallet

In de tabel EAB nummer staat het veld Pallet, wat gerelateerd met het veld PalletID in de tabel Pallet staat.

Nu kan ik wel een expressie opbouwen, maar ik krijg daar steeds een foutmelding:
"typen in expressie komen niet overeen"
Nu lijkt het mij dat een numeriek veld en een valutaveld gewoon vermenigvuldigt moeten kunnen worden, maar zelfs als ik ze beiden op numeriek zet krijg ik deze foutmelding.

Als ik een veld neem en er dat vermenigvuldig met een willekeurige waarde (5 bijv.) dan krijf ik de foutmelding niet, dus ik neem toch aan dat de fout zit in de relatie tussen de twee tabellen...

Suggesties?? behalve een boek kopen, want dat gaat er zeker komen, maar daar heb ik nu weinig aan

And if you don't expect too much from me, you might not be let down.


  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 02-08 18:07
Als je je SQL hier post en iets precieser (met wat voorbeelddata) je datastructuur neerzet kunnen we je verderhelpen. Ik zal alvast een gok doen naar wat je precies bedoelt:

Stel je hebt een tabel met de soorten pallets en bijbehorende prijzen genaamd tabelPalletprijzen met als velden ID (AutoNumber), Pallettype (Text) en Palletprijs (Currency). Voorbeelddata;
IDPallettypePalletprijs
1Groot€ 100,00
2Normaal€ 65,00
3Klein€ 20,00

In een tweede tabel genaamd tabelLeveringen worden de geleverde pallets bijgehouden. Het Pallettype is gekoppeld aan het ID uit tabel tabelPalletprijzen. tabelLeveringen heeft als velden ID (AutoNumber), Levering (Text), Aantal (Number)en Pallettype (Number). Voorbeelddata;
IDLeveringAantalPallettype
1Klant16Normaal
2Klant28Normaal
3Klant325Klein
4Klant430Groot

Deze query
code:
1
2
SELECT tabelLeveringen.ID, tabelLeveringen.Levering, tabelLeveringen.Aantal, tabelLeveringen.Pallettype, tabelPalletprijzen.Palletprijs, [Aantal]*[Palletprijs] AS Leveringsprijs
FROM tabelPalletprijzen INNER JOIN tabelLeveringen ON tabelPalletprijzen.ID = tabelLeveringen.Pallettype;

geeft deze data:
IDLeveringAantalPallettypePalletprijsLeveringsprijs
1Klant16Normaal€ 65,00€ 390,00
2Klant28Normaal€ 65,00€ 520,00
3Klant325Klein€ 20,00€ 500,00
4Klant430Groot€ 100,00€ 3.000,00


Let op: Bij Pallettype zie je weliswaar steeds een TEXT staan (bijvoorbeeld Normaal), maar intern wordt gewoon het ID opgeslagen (bijvoorbeeld 2) van het type NUMBER. Dit heeft te maken met de Lookup Wizard van Access

[ Voor 6% gewijzigd door Arnaud op 19-09-2003 17:38 ]

Pagina: 1