updaten of toevoegen

Status
Niet open voor verdere reacties.

LuckyFm

Gebruiker
Lid geworden
3 feb 2015
Berichten
91
Hallo allemaal,

ik probeer een if then statement te creëren maat tot nu toe zonder al te veel succes.
zal wel weer een kleinigheidje over het hoofd zijn (hoop ik)

Code:
Dim spelernr As String
spelernr = Forms!Frm_DriebCompThuis!txtSpeler2ID

If Me.txtBondsnr = spelernr Then
'DoCmd.OpenQuery "Qr_Tegen3BThuisUpd"
Forms!Frm_DriebCompThuis!cboSpelersB1 = "Bijwerken"
Else
'DoCmd.OpenQuery "Qr_Tegen3BThuisAdd"
Forms!Frm_DriebCompThuis!cboSpelersB1 = "Toevoegen"
End If

volgens mijn logica zou het zo moeten zijn dat wanneer txtBondsnr wordt gewijzigd cboSpelersB1 de waarde "Toevoegen" zou moeten krijgen.
Met de waarde "Bijwerken" als txtBondsnr gelijk is/blijft aan Forms!Frm_DriebCompThuis!txtSpeler2ID.

Bij mij maakt het niet uit wat ik allemaal verander het enige resultaat is en blijft "Bijwerken".

alvast hartelijk bedankt voor de hulp

gr, luc
 
Je geeft niet aan hoe je de gebeurtenis triggert. En draai je de code op een ander formulier?
 
betere uitleg

hi Octafish,

Op form 1 selecteer ik spelers die het tegen elkaar op gaan nemen, nu heb ik helaas geen toegang tot de database van de knbb dus heb ik de gegevens via een excelbestand geïmporteerd in de tabel Spelers_B1 b.v.
Nu wil het nogal eens voorkomen dat een speler (tegenstander) tussentijds is verhoogd van b.v. 20 naar 30 te maken punten, het is natuurlijk ondoenlijk om dit handmatig dagelijks bij te houden dus heb ik form 2 gemaakt.
Hier op haal ik de gegeven van de "verhoogde spelers" en wijzig ik het aantal te maken punten van 20 naar 30 (updaten), middels een knop op form 1
Soms wordt gedurende de competitie een speler toegevoegd aan een team, om boven genoemde reden kan ik dat natuurlijk ook gemist hebben en dan wil ik een nieuwe speler "toevoegen".
Dit wil ik realiseren met de query's die in de bovenstaande code geremd staan, dus als txtBondsnr gelijk blijft updaten (Qr_Tegen3BThuisUpd), en als het gaat om een nieuwe speler met een nieuw Bondsnr (lees SpelerID) toevoegen (Qr_Tegen3BThuisAdd).
Hopelijk wordt hierdoor het e.e.a. duidelijk

Bedankt voor je hulp

gr, Luc

Toevoeging:
Het is de bedoeling dat form 1 na de bewerking van de juiste query wordt bijgewerkt met de juiste gegevens van de tegenstander.ScoreSelect.jpg het selectie formulier
ScoreWijzig.jpg het wijziging formulier
 
Laatst bewerkt:
Volgens mij heb je een bijzonder ingewikkeld constructie bedacht die dus veel simpeler moet kunnen. Maar afgezien daarvan: ik zie op geen van de twee formulieren een keuzlijst waarmee je Bijwerken of Toevoegen kunt kiezen. Waar moet die dan staan?
 
Octafish,

Het zal ongetwijfeld ook anders kunnen maar onderaan form 2 staat de knop "Bewaar wijziging" met de volgende code:
Code:
Private Sub lblClose_Click()
Dim spelernr As String
spelernr = Forms!Frm_DriebCompThuis!txtSpeler2ID

If Me.txtBondsnr = spelernr Then
'DoCmd.OpenQuery "Qr_Tegen3BThuisUpd"
Forms!Frm_DriebCompThuis!cboSpelersB1 = "Bijwerken"
Else
'DoCmd.OpenQuery "Qr_Tegen3BThuisAdd"
Forms!Frm_DriebCompThuis!cboSpelersB1 = "Toevoegen"
End If


Forms!Frm_DriebCompThuis.cboTeamsB1.BackColor = RGB(255, 255, 0)
Forms!Frm_DriebCompThuis.cboSpelersB1.BackColor = RGB(255, 255, 0)
Forms!Frm_DriebCompThuis.Txt_CarMake2.BackColor = RGB(255, 255, 0)
Forms!Frm_DriebCompThuis.Refresh
DoCmd.Close acForm, "Frm_Tegen3B"
End Sub

Dus afhankelijk van of SpelerID in dit formulier is gewijzigd of niet moet de keuze worden gemaakt tussen "Qr_Tegen3BThuisUpd" wanneer alleen het aantal Car wordt gewijzigd en "Qr_Tegen3BThuisAdd" als het een compleet nieuwe speler betreft.

Dacht dat ik op de juiste weg was met deze opties, maar als het nog makkelijker kan houd ik me aanbevolen.

Gr, Luc

Nog even voor de volledigheid Forms!Frm_DriebCompThuis!cboSpelersB1 = "Bijwerken" en Forms!Frm_DriebCompThuis!cboSpelersB1 = "Toevoegen"
zijn er alleen ingezet om de werking van het if then statement te testen, maar dat zal je wel al begrepen hebben.
 
Laatst bewerkt:
Opgelost

onder de knop "Bewaar Wijziging" staat nu de volgende code en dat werkt.

Code:
Private Sub lblClose_Click()
Dim spelernr As String
spelernr = Forms![Frm_DriebCompThuis]![txtSpeler2ID]
If Me.txtBondsnr = spelernr Then
DoCmd.OpenQuery "Qr_Tegen3BThuisUpd"
End If
If Me.txtBondsnr <> spelernr Then
DoCmd.OpenQuery "Qr_Tegen3BThuisAdd"
End If


Forms!Frm_DriebCompThuis.cboTeamsB1.BackColor = RGB(255, 255, 0)
Forms!Frm_DriebCompThuis.cboSpelersB1.BackColor = RGB(255, 255, 0)
Forms!Frm_DriebCompThuis.Txt_CarMake2.BackColor = RGB(255, 255, 0)
Forms!Frm_DriebCompThuis.Refresh
DoCmd.Close acForm, "Frm_Tegen3B"
End Sub

Vraag me niet hoe het kan want is begrijp het ook niet echt, maar het functioneert en dat was de opzet

Gr, Luc
 
Ik zou een regenachtig middag steken in het opnieuw bekijken van je db ontwerp, want oh oh oh, wat kan het allemaal makkelijker :).
 
Octafish,

Daarvan ben ik ook wel overtuigt inmiddels maar de grote vraag blijft hoe dan?
Ben best trots op wat ik bereikt heb met mijn zeer beperkte kennis wat betreft ontwikkelen in vba.
Zoals ik eerder al aangaf leer ik steeds iets bij maar het gaat nog echt heel lang duren eer dat ik mijzelf aan jou kan meten:p
gr, Luc.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan