in access heb ik een db met oa. een tabel offerte die een 1 op veel relatie heeft met de tabel offerteregel. deze zijn dan ook te vinden in een form (frmOfferte) en een subform daarop (frmOfferteSub). nu heeft de offerteregel ook verwijzingen naar andere tabellen, hierin staan ook weer odprachten en de kosten daarvan. nu wil ik op het offertesub form ook de kosten van die opdrachten weergeven.
nu had ik al de volgende code:
Het opvragen van de data gaat allemaal goed, maar wanneer het resultaat in het txtnummerkosten word gezet, veranderen alle velden bij alle records.

het bovenste getal 3(geselecteerd) is de verwijzing naar de nummeropdracht in de tabel nummeropdracht, daaronder staan de kosten (110). dat klopt allemaal. eronder staat het volgende record, daar veranderd de inhoud van het veld dus ook automatisch naar 110 (moet 11 zijn).
Als de code uitgevoerd word terwijl het 2e record geselecteerd is veranderd alles in 11. Het probleem is dus alleen het veld aan te passen wat bij het huidige record hoort.
ps.
ik heb ook al geprobeert de gegevensbron van de forms aan te passen zodat de kosten via de query opgevraagt worden, maar dan worden alleen records getoont die alle velden ingevuld hebben (naast nummeropdracht zijn er nog een stuk of 6). Al deze velden zijn echter optioneel.
nu had ik al de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| If Me.txtNummerOpdracht > 0 Then
Dim strsql As String
Dim rst As Recordset
strsql = "SELECT nummeropdracht.kosten FROM NummerOpdracht WHERE nummeropdracht.NummerOpdrachtnr = " & _
"(Select nummeropdracht FROM offerteregel WHERE regelnummer = " & Me.txtRegelNummer.Value & ");"
Set rst = New ADODB.Recordset
rst.Open strsql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic 'sql uitvoeren op huidige db
Me.txtnummerkosten.Value = rst![kosten].Value
End If |
Het opvragen van de data gaat allemaal goed, maar wanneer het resultaat in het txtnummerkosten word gezet, veranderen alle velden bij alle records.

het bovenste getal 3(geselecteerd) is de verwijzing naar de nummeropdracht in de tabel nummeropdracht, daaronder staan de kosten (110). dat klopt allemaal. eronder staat het volgende record, daar veranderd de inhoud van het veld dus ook automatisch naar 110 (moet 11 zijn).
Als de code uitgevoerd word terwijl het 2e record geselecteerd is veranderd alles in 11. Het probleem is dus alleen het veld aan te passen wat bij het huidige record hoort.
ps.
ik heb ook al geprobeert de gegevensbron van de forms aan te passen zodat de kosten via de query opgevraagt worden, maar dan worden alleen records getoont die alle velden ingevuld hebben (naast nummeropdracht zijn er nog een stuk of 6). Al deze velden zijn echter optioneel.