Selectiescherm maken

Status
Niet open voor verdere reacties.

Dorine75

Gebruiker
Lid geworden
27 jul 2009
Berichten
16
Goedemorgen allemaal,

Ik ben het hele weekend bezig geweest met het maken van een selectiescherm. Ik heb alle fora afgestruind en de voorbeeld database bekeken maar het lukt me niet. Hopelijk kunnen jullie me helpen.

Ik heb een overzicht van klantgegevens. Nu zou ik graag een scherm willen maken waarbij een account manager zijn id kan selecteren waarna hij alleen zijn klanten te zien krijgt zodat hij die kan wijzigen. Ik heb het nu als volgt gemaakt:

* een form opent waarin de account manager zijn ID kan selecteren, vervolgens drukt hij binnen datzelfde scherm op een button
* dan wordt er een stukje script aangeroepen:
DoCmd.OpenForm "InputAccountplannen", , , "[Forms]![InputAccountplannen]![SpotKeyaccountmanager] = " & Me.SelectKeyAM
* via debuggen zie ik dat het juiste Accountmanager ID wordt doorgegeven dus dat gaat goed
* maar ik blijf de melding "parameterwaarde opgeven" krijgen met daarboven de waarde van de accountmanager die ik via de parameter heb doorgegeven
* als ik in dat veld vervolgens weer de naam van de account manager intype, krijg ik een leeg formulier te zien i.p.v. alle formulieren die bij die account manager horen.

Ik hoop dat jullie begrijpen wat ik probeer te doen en het zou geweldig zijn als jullie mij hierbij zouden kunnen helpen!

Alvast super bedankt!

Groeten,
Dorine

PS. ik heb er een aantal schermprintjes bijgedaan zodat het misschien wat duidelijker wordt
 

Bijlagen

  • Access.jpg
    Access.jpg
    27,2 KB · Weergaven: 73
  • Access2.jpg
    Access2.jpg
    27,4 KB · Weergaven: 80
  • Access3.jpg
    Access3.jpg
    98,9 KB · Weergaven: 78
Laatst bewerkt:
Als ik zo je code zie, en de plaatjes, dan vermoed ik dat je een tekststring uit de keuzelijst ophaalt. In dat geval moet je extra quootjes toevoegen aan de code:

= ' " & Me.SelectKeyAM & " ' "

Ik heb er extra spaties bij gezet voor de duidelijkheid, maar die moet je nog wel weghalen: dus: & "'" als resultaat.

Michel
 
Bijna goed

Octafish, ik krijg de foutmelding nu niet meer maar ik krijg ook niet alle formulieren te zien van de accountmanagers, in plaats daarvan krijg ik een leeg formulier te zien. Heb jij enig idee wat ik verkeerd zou kunnen doen?
 
@Dorine75,

Net zoals op het andere forum is het gissen naar het probleem. Ik denk dat een uitgeklede versie met testdata hier plaatsen, het probleem zo is opgelost.
 
Wat is nu de string die je gebruikt onder de knop?

Michel
 
Gaan we een blik op werpen...

Michel
 
Het blik is geworpen, en het orakel heeft geoordeeld ;)

Dit zijn de aanpassingen die je moet maken:

Op het formulier [Selectie Key Accountmanager]:

Code:
Private Sub SpecifiekeAM_Click()
Dim strKeyAM As String

strKeyAM = Me.SelectKeyAM
DoCmd.OpenForm "InputAccountplannen", , , , acFormEdit, acWindowNormal, strKeyAM

End Sub

Op het formulier [InputAccountplannen]:

Code:
Private Sub Form_Load()
Dim sFilter As String

If Not Me.Form.OpenArgs = "" Then
    sFilter = Me.OpenArgs
    Me.RecordSource = "SELECT * FROM [Input Accountplannen] WHERE [Spot Key accountmanager] ='" & sFilter & "'"
Else
    Me.RecordSource = "SELECT * FROM [Input Accountplannen] "
End If

End Sub

Wat je hiermee doet, is via de optie OpenArgs een variabele meegeven aan het formulier dat je opent. Op dit formulier moet de variabele gebruikt worden om de recordset te filteren. Omdat je het formulier ook zonder filtering wilt kunnen openen, check je eerst of er wat is geselecteerd. Dat zet je dan als filtering op de recordset.

Michel
 
Nog niet helemaal goed...

Michel, super bedankt voor je snelle reactie!

Klinkt allemaal heel logisch en ik heb het meteen aangepast in de code alleen zie ik (met debuggen) dat de Me.Form.OpenArgs geen waarde heeft (=null) in het formulier InputAccountplannen. Het lijkt erop dat de waarde toch nog niet helemaal goed wordt doorgegeven.

Overigens wordt het veld strKeyAM wel goed gevuld.

Heb je enig idee?
 
Iets raars

Wat overigens wel raar is, op het moment dat er geen input is voor een filter zouden alle records getoond moeten worden (vanwege Me.RecordSource = "SELECT * FROM [Input Accountplannen] ") maar er wordt een leeg record getoond. Dat is toch ook vreemd?
 
Dat is inderdaad wel vreemd; bij mij doet-ie het namelijk wel...

Ik stuur de aangepaste variant wel mee..

Michel
 

Bijlagen

Je hebt helemaal gelijk!!!

Het werkt!!!! Ik had net een voorbeeld genomen van een account manager zonder accounts. Helemaal geweldig!!!!

Dankjewel voor je hulp!:thumb:
 
Graag gedaan! Al een idee waarom hij bij jou niet werkt?

Michel
 
Hij werkte wel, ik had alleen een account manager geselecteerd waar ik geen accountplan voor had aangemaakt. Dus stom van mij :rolleyes:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan