Accessben egymástól függő kombinált listák

Accessben egymástól függő kombinált listák
2009-08-14T12:28:20+02:00
2009-08-14T14:14:26+02:00
2022-11-14T16:15:34+01:00
Javacoder2
Sziasztok!

Accessben csinálok SQL Server adatbázishoz egyszerű-gyors adatbeviteli interfészt.

Lényegében ami miatt megfelel nekem az Access az, hogy az idegen kulcs mezőket lehet kombinált listákkal reprezentálni.

Szerintetek lehet olyat csinálni, hogy miután a személy lakhelyéhez tartozó országot kiválasztom, a község listában csak az adott országban található községek jelenjenek meg?

Köszi az ötleteket.



[kiegészítés]
Lehet nem volt egyértelmű: adatbevitelre az adatlap nézetet (Datasheet View) használom.
[/kiegészítés]
Mutasd a teljes hozzászólást!
keresés az access témák között: "kombi"

meg lehet csinálni. A kombi sorforrásában (az sql-ben .. a where-ben) hivatkozz az űrlapon lévő másik kombira (forms!űrlapnév!másikKombi
Mutasd a teljes hozzászólást!

  • Szia!

    Legyen az űrlap neve: Bevitel
    2 combobox: cmbOrszag, cmbKozseg
    A táblák Orszag (OrszagID, OrszagNev)
    Kozseg (KozsegID,OrszagID KozsegNev)
    Az első combobox egyértelmű, varázslóval is megcsinálhatod.

    A másodikhoz egy lekérdezést is csinálhatsz, méghozzá így:

    SELECT Kozseg.KozsegID, Kozseg.KozsegNev
    FROM Orszag INNER JOIN Kozseg ON Orszag.OrszagID = Kozseg.OrszagID
    WHERE (((Kozseg.OrszagID)=[Forms]![Bevitel]![cmbOrszag]));

    És érdemes lenne egy Eseményvezérelt eljárás a cmbOrszag-hoz.
    A fókusz elvesztéséhez gondoltam.


    Private Sub cmbOrszag_LostFocus()
    cmbKozseg.Requery
    End Sub
    Mutasd a teljes hozzászólást!
  • (norbu82 && halinorbi):
    Adatlap nézetről van szó, nem űrlapokról.

    Mutasd a teljes hozzászólást!
  • Hirtelen amire gondolok még a folyamatos űrlap?
    Mutasd a teljes hozzászólást!
  • Akkor is működik.
    Persze a szépséghibája, hogy a többi soron nem látszanak az adatok. (tehát mindig csak ott, ahol állsz)

    Ha ez zavar, akkor programozni kell:

    A kombi NE legyen szűrve.
    És ha belelépsz (belépésre esemény), akkor a sorforrásba teszel egy where-t.

    Kilépésre eseményben cseréld vissza a szűretlen sql-re a sorforrást. (illetve a "jelenlegi" eseményben (rekordok közti lépkedés) is érdemes ellenőrzni, hogy where-nélküli sql van-e benne... és ha nem akkor töröld a where-t)

    A fenti jelenség most is előjön de már csak akkor ha a kombin áll a kurzor.


    Még egy javaslat:
    előfordulhat, hogy több rekordnál is látszik a kombi tartalma. (Pl: ha azonos az országkód)
    Ha ez zavar, akkor két feltételt adj meg a where-ben. A második hivatkozzon az ID-re. És akkor egyértelmű lesz a usernak, hogy most azért tűnt el a többinél a kombi, mert épp belépett az aktuális rekord kombijába.
    Mutasd a teljes hozzászólást!
  • annyit még érdemes tudni az access kombilistáról, hogy a csúszka megfelelő működése miatt meg kell számolni a rekodokat. (minden kombit érintő (akár még csak színezési) változás utánis)

    belépésre esemény:
    x=me.List1.ListCount

    Vagy ha tudod, hogy nem lesz változtatva a kombi menet közben, akkor elég csak egyszer... az elején (pl: az open eseményben)
    Mutasd a teljes hozzászólást!
  • törölve.
    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