Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Rapport aanmaken in Access

Pagina: 1
Acties:

  • mdeb
  • Registratie: Mei 2008
  • Laatst online: 24-03-2023
Ik ben bezig met een database te maken om contracten te beheren. Nu heb ik een probleem met een rapport te maken voor deze database. De situatie is als volgt:

Per contract kunnen er meerdere producten geselecteerd worden die aan het contract gekoppeld zijn. Ik heb dit opgelost door 2 tabellen te maken waar in de eerste tabel de gegevens van het contract staan en een tweede tabel waar de producten per contract staan.

Ik heb deze twee aan mekaar gekoppeld door in de tweede tabel een veld aan te maken waarin de index van het contract wordt opgeslagen en in een ander veld komt dan het product te staan. Wanneer er meerdere producten zijn per contract worden er dus meerdere records aangemaakt die dezelfde index van het contract hebben met telkens een ander product.

Dit werkt allemaal goed in de tabellen en de formulieren maar wanneer ik een rapport aanmaak is het een probleem. Ik wil een factuur aanmaken met een rapport maar ipv dat ik 1 rapport krijg per contract krijg ik rapporten per product waarin dan telkens dezelfde contractgegevens staan.

Ik hoop dat dit duidelijk is uitgelegd :)
Weet iemand hier raad mee?

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Hoe maak je een rapport aan? Volgens mij moet je hier even naar kijken:
http://office.microsoft.com/nl-nl/access/HA011591601043.aspx

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • mdeb
  • Registratie: Mei 2008
  • Laatst online: 24-03-2023
Oke dat is gelukt.
Nu heb ik nog een ander probleem. Ik wil een contractnummer automatisch laten opnummeren met de index 09/001 waarin 09 het jaar is en 001 het eerste contract.

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 15-10 13:46
Din kan in access niet automatisch.

In pseudo-code kan je zoiets doen (bij meer dan 999 contracten in een jaar gaat het wel helemaal fout):

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function nieuwcontractnr as string
  dim vorigcontractnr as string
  dim jaar as string
  dim volgnr as string  
  
  vorigcontractnr = dmax("contractnr";"tblContracten")     'zoek het vorige contractnr op in de tabel
  jaar = left(vorigcontractnr;2)
  volgnr = right(vorigcontractnr;3)

  if nieuwjaargeweest then             'in een nieuw jaar moet het jaar + 1
    jaar = format(jaar+1;"00")
    volgnr = "001"
  else
    volgnr = format(volgnr+1;"000")
  endif
  
  nieuwcontractnr = jaar & "/" & volgnr
end function


Beter is om in een los tabelletje het hoogste nummer bij te houden. Als het laatste contract eventueel wordt verwijderd, wordt het nummer in mijn geval weer gebruikt. Dit wil je meestal niet.

[ Voor 24% gewijzigd door Witte op 01-12-2009 10:05 ]

Houdoe