Formulier openen op pagina 2 van tabblad bij klikken in navigatie formulier

Status
Niet open voor verdere reacties.
Tuurlijk mag je meekijken, maar ik communiceer op amateur niveau niet op programmeur niveau.
 

Bijlagen

  • E.jpg
    E.jpg
    49,9 KB · Weergaven: 35
Als je daar een foutmelding krijgt, dan bestaat dat object niet. Code die je van anderen krijgt, zal alleen werken als de objecten die in de code worden aangeroepen ook dezelfde naam hebben als de objecten in je eigen database. De code die u heeft gekregen zou u van mij zo nooit krijgen; ik zorg er altijd voor dat mijn objecten een logische naam krijgen. Een naam als TabbestEl66 zul je dus nooit zien in mijn databases, daar maak ik dan bijvoorbeeld tabBestelling van. En wisselknoppen? Ik zou in uw geval ook niet met wisselknoppen werken zoals in de code hieronder
Code:
Private Sub Wisselknop332_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
     Me.TabbestEl66 = 1
End Sub
Maar met een groepsvak. Daarin kun je óók wisselknoppen maken, maar dan echte, en meer als 2. Ik heb in de frietpizza db bijvoorbeeld een groepsvak gemaakt (gewoon, met de wizard) van 4 knoppen (Nederlands, Engels, Duits, Frans) en die trigger je dan via de code van dat groepsvak, nooit op de knop zelf. De knoppen kun je een andere naam geven, als je dat wilt (Wisselknop31, Wisselknop32 etc is niet echt duidelijk) maar dat hoeft niet eens, want je triggert de knoppen via het groepsvak, niet via de knop. De knoppen krijgen een eigen waarde (1, 2, 3, 4) en door op een knop te klikken krijgt het groepsvak dus die waarde. Die neem je vervolgens mee naar het tabbesturingselement. De complete werkende code ziet er dan zo uit:
Code:
Private Sub fraTaalkeuze_Click()
    Me.tabBestelling.Pages(Me.fraTaalkeuze.Value - 1).SetFocus
End Sub
Het enige merkwaardige is dan wellicht dit: Me.fraTaalkeuze.Value - 1, maar dat komt omdat de knoppen een waarde krijgen vanaf 1, en het tabblad de pagina's 'telt' vanaf 0. Je moet het eerste tabblad dus selecteren met 0 en niet met 1.

Wat je dus moet doen, als je deze techniek overneemt, is dat je de knoppen de juiste waarde geeft (gaat automatisch goed) en dat de namen kloppen. In ieder geval de naam van het tabbladen object.
Sorry, ik kon het toch niet laten om een oplossing te geven, ik kon het gemodder niet langer aanzien :).
 
Hoi
we zitten niet op 1 lijn wat de vraag stelling betreft, dus die ga ik eerst opnieuw stellen, overigens pas ik de namen en nummers aan, aan mijn eigendatabase namen, dus dat is het probleem niet.
ik moet met de druk op 1 knop van het ene formulier meteen naar het juiste tabblad op een ander formulier afhankelijk van de gekozen knop, laten we het zendformulier en ontvangst formulier noemen, waarbij het ontvangst formulier 3 tabbladen heeft.

als ik op het zend formulier de opdracht (DoCmd.OpenForm "Brood Bestellen gast") zet werkt die code gewoon en ga ik naar het ontvangst formulier tabblad 0

als ik op het ontvangst formulier een knop maak met de opdracht (Me.TabbestEl29 = 1) werkt die code gewoon en ga ik naar het betreffende tabblad

Dus wat ik nodig heb is een combinatie van die 2 codes op het zendformulier, de foutmelding die ik nu krijg ontstaat doordat op het zend formulier dat tabblad niet voor komt.

gr
peter
 
Peter
Ik denk dat je dan eerst moet verwijzen naar het ontvangstformulier en dan de Tab. Zoiets als Me.Ontvangst.TabbestEl29=1.
Ik weet niet of dit correct is maar misschien weet OctaFish dit.
Gr. Egbert
 
Dat is nog steeds heel simpel. Op het vertrekformulier:
Code:
Private Sub fraTaalkeuze_Click()
    DoCmd.OpenForm "Invoer Gasten", OpenArgs:=Me.fraTaalkeuze.Value - 1
End Sub

Op het ontvangende formulier:
Code:
Private Sub Form_Load()
    If Not Me.OpenArgs = "" Then
        Me.tabBestelling = Me.OpenArgs
    End If
End Sub
 
Sorry, uren aan het proberen geweest maar kom niet verder als de foutmelding in het zendformulier zie foto F

De code in het ontvangstformulier om daar naar een ander tabblad te gaan werkt wel zie foto G
 

Bijlagen

  • E.jpg
    E.jpg
    49,9 KB · Weergaven: 47
  • F.jpg
    F.jpg
    53,9 KB · Weergaven: 31
  • G.jpg
    G.jpg
    23,3 KB · Weergaven: 40
Dat de derde procedure werkt verbaast me enigszins, omdat je een getal als tekst behandelt. Maar Access lijkt je die fout te vergeven. Waarom doe je dat eigenlijk?

Dat plaatje E niet werkt lijkt mij logisch; je opent weliswaar een formulier maar het formulier waaruit je de code start is nog actief en heeft dus de focus, en het tabblad wordt dus op dat formulier gezocht. En niet gevonden.

De fout op plaatje F is vergelijkbaar: je wilt iets halen uit een object (TabbestE129) dat op een ander formulier staat. Die code is ook een 'mix' van de techniek die ik heb beschreven, en meestal is het geen goed idee om mijn codevoorbeelden door elkaar te husselen, want ze werken prima in de originele staat :). Het idee van mijn code is: op het formulier waarop de knoppen staan (in dus een groepsvak) lees je de waarde uit dat groepsvak uit, en die waarde geef je mee in de OpenArgs variabele bij het openen. Dat laatste doe je an sich dus wel goed. Maar op het formulier "Brood bestellen gast" ontbreekt dus het tweede deel van de code, het stuk waarin je de waarde uit de OpenArgs weer uitleest en gebruikt om het juiste tabblad te activeren.
Op plaatje G had dus niet jouw code moeten staan, maar mijn code:
Code:
Private Sub Form_Load()
    If Not Me.OpenArgs = "" Then
        Me.TabbestE129 = Me.OpenArgs
    End If
End Sub
 
Hoe biedt je dat programma aan? Staat er ergens een laptop PC of zo met/zonder touchscreen in een vrij toegankelijke ruimte?
En hoe controleer je dan grapjassen, misbruik of loze bestellingen?
 
de laptop staat in het restaurant waar je op een bel kunt drukken en dan komt er iemand uit de keuken om je te helpen, het is een kleine camping met gezinnnen met kinderen met een beperking, dus een grote sociale controle, degene die de bestellingen verwerkt kent iedereen en weet dus ook als bestellingen niet kloppen, bovendien is er camera contole en heb ik een datum tijd registratie van de bestelling
 
Ik laat de vraag even rusten ben er nu 3 dagen mee bezig geweest en kom er niet uit, iedereen bedankt voor de hulp en het mee denken tot nu toe
 
Als je gelijk een voorbeeld had meegepost, had je waarschijnlijk vorige week al een werkende oplossing gehad :). Het is namelijk helemaal geen moeilijke vraag.
 
Als je gelijk een voorbeeld had meegepost, had je waarschijnlijk vorige week al een werkende oplossing gehad :). Het is namelijk helemaal geen moeilijke vraag.

ik ga het proberen maar de vorige kon jij niet openen daarom nu met rar ingepakt, dat het een klein bestandje moet zijn blijft een beperking omdat je alles af moet pellen
 

Bijlagen

  • test2.zip
    603,4 KB · Weergaven: 26
Hij doet het, en dit is een werkende oplossing.

Op je formulier "Navigatie gasten" heb je nu drie 'knoppen' staan (het zijn tekstvakken, maar dat maakt niet uit dat werkt ook). Drie krijgen deze code:

Code:
Private Sub Tekst6_Click()
    Me.Visible = False
    DoCmd.OpenForm "Brood Bestelling gast", OpenArgs:=0
End Sub

Code:
Private Sub Tekst9_Click()
    Me.Visible = False
    DoCmd.OpenForm "Brood Bestelling gast", OpenArgs:=1
End Sub

Code:
Private Sub Tekst10_Click()
    Me.Visible = False
    DoCmd.OpenForm "Brood Bestelling gast", OpenArgs:=2
End Sub

Op het formulier "Brood Bestelling gast" zet je deze codes:

Code:
Private Sub Form_Load()
    If Not Me.OpenArgs = "" Then Me.TabbestE129 = Me.OpenArgs
End Sub

Code:
Private Sub Form_Close()
    DoCmd.OpenForm "Gasten navigatie"
End Sub

En meer is het niet; dit werkt al. Zelf raadde ik je aan om een groepsvak met knoppen te maken, dan heb je maar één code nodig. Maar goed, er zijn meerdere werkende oplossingen. Een uurtje dus :).
 
bedankt voor alle moeite Octafisch maar ik blijf met een vraagje zitten, waar ik de code in de knop moet plaatsen weet ik, maar hoe en waar schrijf ik de code in het formulier "brood bestelling gast" ?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan