Record Zoeken in Macro opdracht

Status
Niet open voor verdere reacties.

Maximiliaan1975

Gebruiker
Lid geworden
16 feb 2012
Berichten
6
Hallo,

Ik ben een beginnende amateur database bouwer. Nu loop ik tegen een probleem aan en ik kan nergens een passend antwoord vinden.


Bij de actie RecordZoeken worden argumenten gebruikt. Alleen wil ik de standaard argumenten van RecordZoeken niet. Ik ben op zoek naar RecordZoeken waarin ik een objecttype kan weergeven en een WHERE voorwaarde kan instellen alleen verschijnt deze niet in de Macro actie als ik die op RecordZoeken zet.

In de hulp van Access wordt verwezen naar: SearchForRecord alleen deze komt niet voor in de actie....

heeft iemand een idee of een oplossing....

Thks
 
Ik hoop niet dat je het erg vind als ik de vraag niet helemaal snap :) BLijkbaar heb je met de wizard een macro gemaakt om een record te zoeken. Je geeft niet aan of die macro werkt of niet, maar zegt wel dat je de standaard argumenten niet wilt? Wat is op dit moment die voorwaarde? Waarom wil je die niet? En welke wil je dan wel?
 
Hallo Michel,

Ik kan geen printscreen maken maar wat ik wil is het volgende:

Ik heb een keuzelijst met invoervak gemaakt en als je daar op zou klikken dan verschijnt er een andere naam in dit geval van een speler in mijn sportteam en ik wil dan de gegevens van die spelers op het formulier hebben.

Ik heb bij de eigenschappen van de keuzelijst een ingesloten Macro gemaakt.... vervolgens wil ik het eerste record zoeken en daar een Where voorwaarde aankoppelen in dit geval het id nummer van de speler en dan zou die speler moeten weergegeven.

De where voorwaarde zou moeten zijn :="[Id]=" & [TempVars]![ActiveControlValue] alleen kan ik die Where voorwaarde niet aangeven.

De macro werkt met dit verschil dat die voorwaarde er niet inzit waardoor de marco niet goed werkt.
 
Laatst bewerkt:
Ik krijg nu de indruk dat de macro die je hebt gemaakt het niet doet. Want als je met de wizard een Keuzelijst met opzoekvak maakt om binnen een formulier een record op te zoeken, dan doet-ie precies dat: op basis van een ID waarde uit de keuzelijst het bijbehorende record opzoeken.... Ik zou zeggen: loop de wizard nog eens door met de derde optie (Een record opzoeken op basis van de waarde in de keuzelijst met invoervak) :)
Overigens: als je maar twee opties hebt, kan het kloppen: dan heb je het formulier gebaseerd op een SELECT statement, en niet op een tabel of een opgeslagen query. Dat moet je dan eerst aanpassen.
 
De macro werkt... tot zo ver....

In de rijbron heb ik opgegeven:
SELECT [Id_speler], [Team], [Naam van Speler], [E-mail] FROM [Spelers - uitgebreid] WHERE [Id_speler]<>Nz(Form![Id_speler],0) ORDER BY [Team];

In de keuze lijst geeft hij nu inderdaad de naam van de spelers weer en kan ik kiezen uit de speler.

Als ik dat doe dan krijg ik de volgende melding:

Een expressie in het argument 2 bevat een ongeldige waarde:

U probeert een macro uit te voeren op of u gebruikt het object DOcmd in Visual Basic. Het hierboven getal geeft de positie aan van het argument zoals het verschijnt in het macrovenster, in het dialoogvenster Actie is mislukt of in het objectenoverzicht.

De macro die ik gemaakt heb, ziet er als volgt uit:

Voorwaarde Actie Argumenten
IsNull([Screen].[ActiveControl]) MacroStoppen
BijFout Volgende;

[Form].[Dirty] OpdrachtUitvoeren RecordOpslaan
[MacroError].[Number]<>0 BerichtenVenster =[MacroError].[Description]
... MacroStoppen
BijFouten Mislukt;

TijdelijkeVariableInstellen ActiveControlValue ; [Screen].[ActiveControl]
[CurrentProject].[IsTrusted] WaardeInstellen [Screen].[ActiveControl]; Null
[Form].[FilterOn] OpdrachtUitvoeren FilterSorteervolgordeOngedaanMaken
RecordZoeken Hier gaat die dus fout want ik kan hier geen WHERE voorwaarde instellen
TijdelijkeVariabeleVerwijderen ActiveControlValue


Het gaat dus mis bij het Recordzoeken; de hulp van ACCESS geeft aan dat ik hier SearchFor moet gebruiken maar die staat niet in mijn lijstje
 
Zo te zien een macro om op basis van de keuzelijst een record op te zoeken. Ik zou zeggen: maak hem opnieuw met de wizard, want die zou dat probleemloos moeten kunnen. Ik loop zelf met een grote boog om macro's heen want ik doe alles in VBA, en als ik deze zo zie, dan heb ik daar groot gelijk in :)
 
:D ik ben nog niet zo handig in VBA dus vandaar dat ik dat via de wizard doe..... :thumb: Zodra ik het opgelost heb zal ik het laten weten voorals nog blijf ik met mijn probleem zitten en zoek ik verder...:confused:

Thks for the help... mocht iemand anders nog een suggestie hebben.. ik sta er open voor....:D
 
Nogmaals: maak de keuzelijst opnieuw met de derde optie; volgens mij heb je dan exact wat je zoekt. En anders zou ik het nog eens opnieuw uitleggen, want dan snap ik nog steeds niet wat je probeert te doen met de macro.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan