Access Választó Menü VBA-ba

Access Választó Menü VBA-ba
2016-03-02T15:20:12+01:00
2016-03-09T18:27:40+01:00
2022-12-03T08:40:37+01:00
q7.poker
Van egy ilyen kódom Microsoft Visual Basic for Applications -be:
Private Sub Lista0_DblClick(Cancel As Integer)
Dim RowNumber As Integer
    RowNumber = Me.Lista0.ListIndex + 1
    DoCmd.OpenForm "Gyártási lap", , , "[Azonosító]=" & Lista0.Column(0)
    DoCmd.OpenForm "Szállítólevél", , , "[Azonosító]=" & Lista0.Column(0)
End Sub

Ugye ez csak azt csinálja hogy megnyitja mind a két űrlapot.
De én azt szeretném hogy mielőtt megnyitná mind a kettőt kérdezze meg, hogy melyiket akarom megnyitni, vagy egyiket vagy másikat vagy esetleg valóban mindkettőt. 
Milyen kódot kell ide írni bármilyen megoldás érdekel?
Mutasd a teljes hozzászólást!
Én azt szerettem volna ha duplán kattintok ugorjon fel egy ablak

Akkor mi tart vissza egy ablak (felugró/modális) létrehozásától.
A választás eredményét elmenti egy globális változóban, s amit elérhetsz az ablak bezárása után is.

Pl.
Mutasd a teljes hozzászólást!

  • például csinálasz egy form-ot 3 gombbal:
    - Gyártási lap
    - Szállítólevél
    - Mindekettő

    Ezek click eseményébe következőket írod:
    Gyártási lap:
     DoCmd.OpenForm "Gyártási lap", , , "[Azonosító]=" & Lista0.Column(0)

    Szállító levél:
    DoCmd.OpenForm "Szállítólevél", , , "[Azonosító]=" & Lista0.Column(0)

    Mindekettő:
    DoCmd.OpenForm "Gyártási lap", , , "[Azonosító]=" & Lista0.Column(0)
    DoCmd.OpenForm "Szállítólevél", , , "[Azonosító]=" & Lista0.Column(0)


    Az eredeti helyen pedig ahol ez van:
    DoCmd.OpenForm "Gyártási lap", , , "[Azonosító]=" & Lista0.Column(0)
        DoCmd.OpenForm "Szállítólevél", , , "[Azonosító]=" & Lista0.Column(0)

    lecserléed, hogy ez az uj form jelenjen meg.
    Mutasd a teljes hozzászólást!
  • Ha csinálok egy új formot amit ha az eredeti formon dupla kattintással meghívok és az uj formon van a három gomb hogyan tudok vissza hivatkozni a eredeti formra?
    Tegyük fel hogy ha az új formon az első gombra ha kattintok ezzel a koddal:

    Private Sub Parancsgomb0_Click()
    RowNumber = Me.Lista0.ListIndex + 1
        DoCmd.OpenForm "Szállítólevél", , , "[Azonosító]=" & Lista0.Column(0)
    End Sub

    Akkor hogy mondom meg neki hogy az eredeti formról keresse a Lista0 -t?
    Mert az új formon  amin csak a három gomb szerepel ott nincs Lista0 és hibát is ír ki.
    Próbáltam valami ilyesmit is de nem nagyon jött össze:
    RowNumber = [Eredeti Form].Lista0.ListIndex + 1
        DoCmd.OpenForm "Szállítólevél", , , "[Azonosító]=" & Lista0.Column(0)
    Mutasd a teljes hozzászólást!
  • Bocsi, de az eredeti form-on is megkérdezhetnéd, hogy melyiket akarod megnyitni..
    Mutasd a teljes hozzászólást!
  • Na és azt hogy? Milyen kódot kell írni hogy megkérdezze?
    Mutasd a teljes hozzászólást!
  • Minek kérdezné?
    Tegyél fel az eredeti form-odra annyi button-t ahány választási lehetőséget akarsz biztosítani.
    Majd a másik form-ot hívd meg paraméter/ek/rel.
    Persze a button-ok helyett használhatnál egy combobox-ot, tán elegánsabb..
    Pl.(Open a Form Based on a Combo Box Value)

    Dim cboVal As String Dim stDocName As String Dim stLinkCriteria As String stLinkCriteria = "[CustomerID]=" & Me![CustomerID] cboVal = Me.Combo_173.Value Select Case cboVal Case "Blue" stDocName = "Blue Form" Case "Red" stDocName = "Red Form" Case "Green" stDocName = "Green Form" End Select DoCmd.OpenForm stDocName, , , stLinkCriteria
    Mutasd a teljes hozzászólást!
  • Végül így oldottam meg:
    Private Sub Lista0_DblClick(Cancel As Integer)
    Dim Rownumber As Integer
    If Keret93 = 1 Then
        Rownumber = Me.Lista0.ListIndex + 1
        DoCmd.OpenForm "Gyártási lap", , , "[Azonosító]=" & Lista0.Column(0)
    ElseIf Keret93 = 2 Then
        Rownumber = Me.Lista0.ListIndex + 1
        DoCmd.OpenForm "Szállítólevél", , , "[Azonosító]=" & Lista0.Column(0)
    Else
        Rownumber = Me.Lista0.ListIndex + 1
        DoCmd.OpenForm "Szállítólevél", , , "[Azonosító]=" & Lista0.Column(0)
        DoCmd.OpenForm "Gyártási lap", , , "[Azonosító]=" & Lista0.Column(0)
    End If
    End Sub

    De szerintem ez így akkor is elég minimálbéres... Én azt szerettem volna ha duplán kattintok ugorjon fel egy ablak ami megkérdezi hogy melyik űrlapot akarom megnyitni.
    MsgBox-al meg is tudtam csinálni azzal csak éppen annyi a baj hogy ott ugye az (igen ; nem ; mégse) ugye ott azokat nem lehet átnevezni... persze azt be tudtam állítani hogy ha igent nyomok akkor az egyik űrlapot nyissa meg ha nemet nyomok akkor a másikat űrlapot ha mégsét akkor mindkettő űrlapot megnyitja. Na én valami ilyesmit szerettem volna... De azért köszönöm az eddigi segítségeket. :)
    Mutasd a teljes hozzászólást!
  • Én azt szerettem volna ha duplán kattintok ugorjon fel egy ablak

    Akkor mi tart vissza egy ablak (felugró/modális) létrehozásától.
    A választás eredményét elmenti egy globális változóban, s amit elérhetsz az ablak bezárása után is.

    Pl.
    Mutasd a teljes hozzászólást!
  • Na de pont ez az amit nem tudok...hogyan tudom elmenteni a választás eredményét egy Global változóba? Milyen kód kell hozzá?
    Mutasd a teljes hozzászólást!
  • .hogyan tudom elmenteni a választás eredményét egy Global változóba?

    Segíthet..(Ha kerested volna->Access globál változó deklarálása és elérése)
    Mutasd a teljes hozzászólást!
  • Riha!
    Köszönöm szépen sokat segítettél!
    Sikerült megcsinálni amit szerettem volna!
    Nem nagyon programoztam eddig ha ezt lehet egyáltalán programozásnak nevezni amit én csináltam. :D
    De úgy működik ahogy én szeretném. A listába interaktívan lehet keresni vagy nem is tudom mi ennek a pontos megnevezése (leütött betűnként szűri a rekordokat automatikusan) utána ha megtaláltam duplán rákattintok és felugró ablakkal kiválaszthatom hogy mit akarok az adott rekordból bővebben megtudni, esetemben szállítási adatokat vagy gyártási adatokat.
    Köszönöm! 
    Üdv.
    U.i.: Ha valakit esetleg érdekel a teljes kód szívesen bemásolom ide. :)
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd