voorkomen van overbodige data

Status
Niet open voor verdere reacties.

Rene71

Gebruiker
Lid geworden
2 aug 2012
Berichten
133
in mijn dB heb ik een tblOrderRegels hierin staan de meeste gegevens waarvan in het verdere verloop van de dB de gegevens worden opgevraagd zodat er geen overbodige data in de dB staat
en dat is ook de bedoeling lijkt me :)

maar nu heb ik bij het van facturen een probleem
in de tblOrderRegels staan de velden
Aantalbesteld
Artikelnummer
Tekeningnummer
Omschrijving
stukPrijs
enz.
bovenstaande gegevens wil ik ook op de Factuur hebben

in de tbl FactuurRegels heb ik de velden
FRID
FactuurID
ProductieID met op het formulier een Keuzelijst die de benodigde bovenstaande gegevens ophaalt
FRegelAantal
FregelTekst
FregelPrijs
dit omdat ik ook nog extra kosten in de factuur wilde opnemen



maar nu wil ik in het "Sub"formulier met een keuzelijst en een knop een extra regel (record) toevoegen in de tblFactuurregels
en dat mag niet van access zie afbeelding Lookup.jpg

en ik snap niet waarom ProductieID hier moeite mee heeft, volgens mij doe ik hier niets mee

via de tabel tblFactuurregels mag ik records toevoegen zoveel
maar zodra ik in de de SubFormulier de twee tabellen aan elkaar koppelt
mag ik enkel nog maar gegevens toevoegen uit de keuzelijst ProductieID
een extra regel mag dan niet

ik snap niet wat ik verkeert doe in deze en of dit wel de juiste methode is
ik heb nu een test gedaan met DLookup en dat werkt wel
Code:
Private Sub Knop63_Click()
'DoCmd.GoToControl "FRID"
DoCmd.GoToRecord , , acNewRec
        
FRegelTekst = DLookup("ExtraOmschrijving", "tblExtrakosten", "ExtraKostenID=" & cmboExtraRegel)
FRegelAantal = 1
FRegelPrijs = DLookup("[ExtraKosten]", "tblExtraKosten", "ExtraKostenID=" & cmboExtraRegel)
FRegelArtnr = DLookup("[ExtraArtnr]", "tblExtraKosten", "ExtraKostenID=" & cmboExtraRegel)
    
  ' DoCmd.GoToRecord , , acNewRec
   'DoCmd.GoToControl "ProductID"
    Me.ProductieID.Requery
    ' ProductieID.Dropdown
   End Sub

Private Sub ProductieID_AfterUpdate()

FRegelTekst = DLookup("Omschrijving", "tblOrderRegel", "ProductieID=" & ProductieID)
FRegelAantal = DLookup("AantalBesteld", "tblOrderRegel", "ProductieID=" & ProductieID)
FRegelPrijs = DLookup("[Stuksprijs]", "tblOrderRegel", "ProductieID=" & ProductieID)
FRegelArtnr = DLookup("[Artikelnr]", "tblOrderRegel", "ProductieID=" & ProductieID)
FRegelTeknr = DLookup("[Tekeningnr]", "tblOrderRegel", "ProductieID=" & ProductieID)
End Sub
maar dan Creëer ik overbodige data dacht ik zo

een andere optie is om er en extra subformulier met extrakosten

de vraag is eigenlijk. waarom mag ik geen records toevoegen wanneer ik in de subfrm de tabel tblFactuurRegel en de tblOrderRegel aan elkaar geknoopt heb
 
Volgens mij mis je nog een paar tabellen in je voorbeeldje. Want hoe kun je nu een factuur aan een order hangen? Dat kan toch niet zonder de tabel Orders?
 
die heb ik er idd uitgehaald ik dacht het niet nodig te hebben in dit voorbeeldje
ook ivm de grote van het bestand
 
Als je een voorbeeldje maakt, zijn sowieso alle tabellen nodig die met het probleem te maken hebben. De grootte van de testdb kun je inperken door maar een paar records te laten staan. Voor het zoeken naar een oplossing maakt het mij niet uit of er 10 of 1000 records in de db zitten. Zolang de vraag maar te reproduceren is. En dat is nu dus niet het geval, omdat er tabellen ontbreken.
 
tabel Orders heb ik toegevoegd
het probleem zit in de Subformulier

en ik vermoed dat de join eigenschappen niet goed zijn
wanneer ik die aanpas dan mag er wel een record worden toegevoegd
maar dan krijg ik de de velden FRegelPrijs en uit de tabal tblOrderRegels het veld Stukprijs niet onder elkaar in het formulier

wat er nog bij komt is dat ik een factuur wil kunnen maken zonder een Ordernr of ProductieID
dan komt er enkel een extra kosten regel in de factuur

en dan kom ik niet verder dan de dlookup code van #1
dit werkt, maar met de overbodige data in de dB die je eigenlijk wil voorkomen
en zijn die 4 of 5 velden die in de tblFacuurRegel komen te staan met de Dlookup funest voor de dB bestands grote


een andere optie waar ik aan denk is een tweede subformulier
voor alleen de extra kosten
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan