Ms Access

Jelentkezz be a hozzászóláshoz.

rushman
#90
Úgy érzem elbeszélünk egymás mellett, mivel eddig rébuszokban beszéltem. pontosan értsd, leírom mit akarok megvalósítani:

Amin most dolgozok, az egy komplett adatbázis-rendszer kézilabda bajnokságok adminisztrálása céljából. A problémám a játékosok egy adott mérkõzésén történõ teljesítményük rögzítésekor vetül fel, mivel A ûrlapon találhatók a mérkõzés adatai, a felh kiválasztja a mérkõzõ csapatokat (kombi panelból), futásidõben eme csapatok játékosai megjelennek az említett listában. Ha az egyik lista egy játékosára kattint, feljön a B ûrlap, ahol kilenc tulajdonságot lehet beállítani. Ha ezt megtette, visszalép az A ûrlapra, ahola beállított játékos neve jó lenne, ha eltûnne, így kiküszöbölhetem azon problémát, hogy a felh mégegyszer ugyanazon meccsen ugyanazon játékosának adatait megváltoztassa.

rushman
#89
isten õrizz, nem akarom én használni, te javaslod lista helyett...

Nálam a listát futásidõben egy függvény tölti fel, méghozzá elég bonyolult módon, nem kis munkám van ebben a függvényben. Ennek bizonyos (lásd lent) értékeit kellene elrejtenem, egész egyszerûen más megoldás nem jut eszembe, hisz ha nem tüntetem el, akkor a felh véletlenül mégegyszer haszálhatja a már beállított érték tulajdonságait. Próbáltam figyelmeztetés módszerrel, de ez nem elegáns.

Elvileg VBA-ban activeX vezérlõként be lehet hívni más regisztrált vezérlõt is, (mondjuk azt, amit az Excel is használ) de az is ugyanígy mûködik.

#88
Jó, amit a Rushman ír, de ez nem egy felhasználóbarát módszer!
A szebbik módja a paraméteres lekérdezés!
Ehhez létre kell hozni egy ûrlapot két kötetlen mezõvel. Ebbe íratod bele a két mezõ keresõfeltételét! Ezután egy nyomógombbal meghívod a lekérdezést amibe az ûrlapon szereplõ két kötetlen mezõ neve szerepel. Kész a lekérdezés futásidõben!
Ha viszont a nyomógomb egy jelentést hív meg ami viszont az elõzõ lekérdezésre hivatkozik, akkor nyomtathatod is!

#87
Én úgy érzem, hogy nem arra akarod használni a kombinált listát amire való!
Konkrétabban példával:
Van egy tábla pl. Szinek: fehér, piros, fekete stb.
És van pl egy másik tábla Autó, aminek egy mezõje, a szín.
Namármost, ha nem akarod ezt mindig gépelgetni, akkor ez a mezõ kombinált lista, ami a szinek táblára hivatkozik.
De ezt a pl fehér színt más autó is használhatja, ezért nem kell eltüntetni!
Ha mást akarsz ezzel mûvelni, az programozástechnika, nem kombi lista!
Ezt amit akarsz meg lehet valósítani, de csak a fenti módon.

rushman
#86
Az olyan mezõben, ahol elõfordulhat üres érték, ott engedélyezned kellene a nulla karakterláncot, így az üres értékkel rendelkezõ mezõt is számításba veszi. Ha ez nem megy, akkor kötelezõvé kell tenni a kitöltését (persze csak elvileg, ha nem akarsz ezzel pöcsölni, akkor rakj be egy jelet alapértelmezettként)

rushman
#85
Oksa, ez megy, csak futásidõben nem jön össze.

A kombi lista nem járható, mivel a felh-nek az összes adatot látnia kell egyben (A ûrlap), mivel késõbb ezekbõl választ ki! tehát a lista egy elemére (Z elem) kattintva feljön egy másik ûrlap( B ûrlap), ahol a Z elem további adatait állíthatja be. Ha végzett, bezárja a B ûrlapot, és az A ûrlap listájából a Z elem el kell hogy tûnjön, de nem törléssel, csak lefedéssel.
Próbálkoztam azzal, hogy a lista visszatéréskor kap egy szûrõt Like"Z elem" feltétellel, de ze nem jó, mivel a következõ ilyen elemnél már az elõzõleg lefedett Z elem újra elõjön, kombinálva meg nem jön össze a szûrés.

Ha ezt megoldod, kapsz egy fagyit...

rushman
#84
Gondolom adatokat akarsz keresni ûrlapok mezõiben.

Ez lekérdezéssel tehetõ meg legkönnyebben, melynek a szükséges táblái (feltételezem azt, hogy az ûrlap adatai is táblában vannak tárolva) a rekorforrás (lekérdezés tervezõ nézetében kiválasztható), abból a két mezõt kiválasztod, és a feltétel mezõbe beírod a kritériumot. A súgóban találsz példákat feltételekre, de ha konkrétumokat tudsz mondani, mondjuk mit akarsz keresni, akkor egyszerûbb a válasz

#83
Köszi, meg fogom próbálni😊

Még egy kérdés akkor:

Ha nekem van egy ilyen ûrlap adatbázisom, mondjuk 100 kitöltött ûrlappal.
Hogyan csinálhatok én ehhez egy keresõfelületet, amely az ûrlap 2 eleme szerint tud keresni közöttük, és a találatokat kilistázza?
(lehet gagyi kérdés, de az adatbázis szarságokkal csak most ismerkedek még - újra, és ez az access nem egy felhasználóbarát progi...)
#82
Én az Access-t az Excellel sosem kevertem! Irtam egy szállítmányozási-számlázási rendszert csak Accessben!
Az Excelt szarra sem tartom mellette, ennélfogva nem tudok segíteni neked!
Mindent megoldanék szerintem, de kizárólag csak Accessben!

#81
Hát igen, vannak elég érdekes kérdéseim....
A lekérdezéseket átlátom...csak ezekkel a dolgokkal sok okosságot lehetne még belevinni az adatbázisomba/lekérdezésembe..
Pl, hogy miért kéne megszámozni 1 lekérdezés rekordjait:mert a lekérdezés ki van exportálva EXCEL-be makróval(!!!ugyanis EXCEL-be kell továbbküldeni a lekérdezés eredményét!!!), ahol az elsõ rublika az "Fsz.", s ha van 1000 db. tétel, akkor nekem kell megszámoznom (most az mind1, hogy pár katt az egész!)
A másik, hogy miért kéne 1 lekérdezés akányhányadik(!) elemét lekérdezni úrja: mert az 1ik lekérdezés visszaad pl 150 nevet, és 1 másik kérdés az ûrlapon az, hogy "Hányas fsz.-al ellátott személyt szeretné bõvíteni/moódosítani/csatolni?...(!!! itt még nincs TAJ szám, csak név, anyja neve, szül.hely !!!), s egyszerûbb megadni ûrlapon, hogy a "45"-ös számú egyént szeretném a fõ táblába beilleszteni, mint begépelni az egészet....
Evvégre kellenek ezek az okosságok....
Nincs valami 5leted?

#80
Lásd a #62 üzenetet!

#79
Te elég érdekes kérdéseket teszel fel, de én attól tartok, hogy nem látod a lekérdezések lényegét!
Bocsi, ha nem így van!
A lekérdezés mindig egy bizonyos feltételnek megfelelõ rekordhalmazt ad vissza! Ha a feltételed olyan, akkor 5 rekordot, ha olyan akkor 83-at stb.
A lekérdezésnél sorszámnak ennélfogva nincs nagyon értelme, viszont az arra alapozott jelentésnek igen! Gondolj csak arra, hogy egy vásárlásnál kinyomtatva akarjuk csak tudni, hogy hány tétel volt.
A kérdésed: meg lehet oldani, hogy egy lekérdezés eredményét tovább szûkíted, de akkor az elsõ lekérdezés eredményét le kell tárolni egy ideiglenes táblába és utána arra kell meghívni egy új lekérdezést.

#78
Akkor azt, hogy tudom megcsinálni, hogy a lekérdezés modjuk 5. (vagy akárhányadik) rekorját szedem ki 1 másik lekérdezéssel??

#77
Valaki jártas ember azt meg tudná mondani nekem, hogy ha csinálok az egyik beviteli mezõ helyett egy legördülõ menüt, az adatfelvitelhez, akkor annak a választható pontjait hol tudom hozzáadni?
Mondjuk 4 pont közül lehessen csak választani..

(tehát úgy mint itt a topic tetején, az Ms Access legördülõ menüben ott a többi lehetõség is)
#76
Nem tudom, soha nem volt rá szükségem! Ha rájössz ne titkold el! :-)

#75
Olyasmi, mint a Táblánál a "számláló", csak lekérdezésben....félére gondolok....

#74
Zipus: nem tudod véletlenül, hogy lekérdezést, hogy lehet besorszámozni???
Az 1 dolog, hogy látom, hogy pl van benne 8 rekord, de a sorszámozás...arra nem jövök rá...
(teljesen mindegy, hogy milyen a lekérdezés)

#73
[email protected]
ide küldheted, de én is csináltam 1 mintát, hogy mi is a probláma...
thx

#72
Megcsináltam egy mintaadatbázist valami hasonló dologra. Azt nem írtad, hogy a tábláid milyen mezõkbõl állnak és mi a kapcsolat közöttük. Így egyértelmûbb kibogozni a hibát.
Az én adatbázisomban csináltam több táblából származó lekérdezést, jelentést, kombinált listát, ha gondolod elküldöm.
Talán mankónak jó lesz! :-))

#71
Nézdd, így nem jutunk egyrõl a kettõre! Az biztos, hogy nem jól szervezted a táblákat! Akár 8 táblát is össze lehet vonni lekérdezésbe, de ehhez a kapcsolati tábládat is jól ki kell alakítanod!
Adj meg egy emil címet a #68 üzenet alapján megmutatom, hogy én miként csinálnám!

#70
nem lehet osszevonni a 3 lekérdezést, mert ez már 1 elõre beállított lekérdezés...más kapcsolatban vannak, ezzel csak bõvíteném a lekérdezéseket, hogy összevonnán õket, mert nem lehet 3 táblából/lekérdezésbõl jelentést nyomtatni...
A lényeg, hogy semmi kapcsolat nincs a 3 lekérdezés között...se "és", se "vagy"...semmi...
És nem ad vissza semmit, hiába van eredménye az "1","3" lekérezésnek...

#69
Elsõ kérdésem, hogy miként vonod össze a 3 lekérdezést? A hiba a sejtésembõl fakadt, az egyértelmû!

A másik dolog, hogy felesleges ehhez 3 lekérdezés! Egy kell, hiszen a TAJ-szám azonosít egy sofõrt! Egy lekérdezésbe beviszed minhárom táblát és kiválsztod a szükséges mezõket! Azoknál a sofõröknél, ahol nincs meg valamelyik adat a lekérdezés üres mezõt hoz, de a többinél látszik!
Igy csináld meg!

#68
Ez a konkrétum...
Van 3 lekérdezés:
"1":
1 mezõ: Tajszám
2 mezõ: Név
3 mezõ: Szül. idõ év
4 mezõ: Szül. idõ hó
5 mezõ: Szül. idõ nap

"2":
1 mezõ: Tajszám
2 mezõ: Irányítószám
3 mezõ: lakhely város
4 mezõ: közterület
5 mezõ: házszám

"3"
1 mezõ: Tajszám
2 mezõ: Autó típusa
3 mezõ: Autó színe
4 mezõ: Autó rendszáma
5 mezõ: Autó rakománya

Na, ezek a lekérdezések, külömbözõ táblákból jön össze...
Nincs meg minden sofõrnek a lakcíme, irányítószáma...stb ("2" lekérdezés")
Ez nem is baj...de kb. a fél állománynak megvan...Namost, amikor nyomtatnám a menetlevelet ki, akkor kéne mind a 3 lekérdezést 1be venni, hogy jelentést tudjak nyomtatni...(nem járható út, hogy a többi sofõr adatait nyilvántartsam!)

#67
konkrétan! bocsi :-)))

#66
Én nagyon valószínûnek tartom, hogy az "és" kapcsolatba fürdesz bele!
Egyesével hoz eredményt, de összesítve pont azért nem!
Konkrátan leírod a problámádat, akkor konkrátan leírva tudok segíteni!

#65
Újabb error....ezt kapjátok ki!!!!!
Van több lekérdezés, mondjuk "1","2","3" a nevük.
Namost mindegyikben max. 1 rekord lehet (Összesítés:first), rekordok 5 mezõbõl állnak fixen!!!!
Na, pl: "2" nevû lekérdezés nem hozott eredményt (azaz üres, 0 rekord van benne), a többi lekérdezésben benne van az 1 rekord, 5 mezõ adattal!!!
Mikor ezeket a lekérdezéseket újra lekérdezem (hogy összefûzzem õket), a teljes lekérdezésben 0 rekord lesz, holott az "1","3" lekérdezésben benne van az adat...
Nem tudjátok, hogy tudnám megcsinálni, hogy az "1","2","3" lekérdezéseket össze tudjam fûzni 1 rekordba 15 mezõbe??

#64
Én sem a törlésrõl beszéltem!
1. Táblára hivatkozik a kombinált lista, akkor a tábla minden egyes rekordja a listából elérhetõ.
2. A lista sorforrása egy lekérdezés, ami esetleg ismét lehet egy tábla, azonban a lekérdezés feltétel sorába szûkítheted.
Ha ez nem megfelelõ, akkor nem értem a problémádat!
Bár túl sok extrát nem lehet ezzel mûvelni! :-)

rushman
#63
csak én nem adatot akarok törölni, hanem adatot akarok lefedni( vizuálisan eltüntetni) a listából, ekkor viszont nem megoldás a tábla-szisztéma (szerintem)

#62
A kombinált lista legegyszerûbb megoldása, ha az egy táblára hivatkozik! Én ezt szoktam mindig alkalmazni! Ez aztán a tábla elemeinek bõvítésével a kombinált lista elemeit is bõvíti.
Nem kell, felesleges bajlódni az AddItem és A RemoveItem stb metódusokkal!

rushman
#61
hát elég érthetetlenûl írtam...

rushman
#60
valamikor beszéltünk a lista-kombinált lista témáról,

namost az nem jön össze, hogy egy listát feltöltök adatokkal, és mondjuk a felh. kiválaszt egyet, kattintásra elõjön egy másik ûrlap a választott értékkel (eddíg megy), majd ha kilép, akkor ezt az értéket kiszedi a lista tartalmából (na ez nem!). Ezt excelben meg tudom csinálni, mivel ott a lista vezérlõelemnek van additem, és removeitem metódusa, amivel ez megoldható, viszont az accessnek nincs, és ezt valahogy mindenképp meg kéne csinálnom, mert máshogy egész egyszerûen nem tudom...

#59
Add meg részletesebben, hogy mi az adatbázis összetétele, hátha össze tudunk hozni valamit!

Dj Révész
#58
Egyébként csak ezt az egy adatbázist szeretném összehozni, mert a cégnél ahol dolgozom még nincs ilyen. Gondoltam bevágódok a séfnél:-) Alapokat tanultam, de inkább csak használni, mint tervezni tudom(sajna)

Dj Révész
#57
Köszi! Meg fogadom a tanácsaitokat! Egyébként a leírtakon kívül semmi extra nem lessz benne, úgy hogy csak össze hozom valahogy:-)

#56
Igazad van, mindennek az alapja a tervezés, normalizálás! Anno tanárom úgy tanította, hogy adatbázis programozásnál a munka 70%-a a tervezés 30 %-a a programozási munka! Teljes mértékben igaz!
Ha mindezt jól csináltad, akkor is közbejöhet még, hogy a megrendelõ a mintaadatbázis bemutatásakor benyögi: jó, jó, de ezt meg ezt szeretné még látni, bevinni stb.
Ez a méreg!

rushman
#55
Ajánlanák egy-két könyvet elolvasásra, amelyek adatbázis-tervezéssel foglalkoziknak (szoftverfüggetlenül), mert ezen ismeretek nélkül maximum egy alapszintû adatbázist tudsz összehozni, tele hibával. Saját baklövéseimen tapasztaltam (többször is), hogy nem voltak jól megszerkesztve a táblák, kapcsolatok, és a fejlesztés közepénél ki kellett dobnom a munkám felét, mert elcsesztem a tervezést.

Tehát olvass egy kicsit a téma ezen részérõl, mert óriási segítség a késõbbiekben

#54
Igen, azt tartalmazzák! De, ez a legegyszerûbb forma! Ez amit már felvázoltál egy raktárgazdálkodási nyilvántartás lenne bonyolult formában. Neked el kell dönteni milyen mélységben szeretnél belemenni!
pl. cikkszám alapján lehetne azonosítani egy terméket, ami alapján én felvinném a be-és kimenõ forgalom táblába, hogy mi jön illetve megy.
Ez egy kombinált listába jelenne meg a ki-és be táblára épülõ ûrlapon. Ezen felül már csak a mennyiséget kellene konkrétan bevinni.
Ha persze ezt még bõvíteni szeretnéd azzal, hogy melyik partner mit vitt illetve hozott, akkor ez már egy segédtáblát is igényel!
Szóval a döntés, hogy mit szeretnél a te kezedben van!

Dj Révész
#53
Hát gondoltam, hogy nem lesz egyszerû:-). És a másik két tábla az mit tartalamazzon? Ezek tartalmazzák majd külön a be, és külön a kimenõ forgalmat? Ezt le lehet így fórumon vázolni, vagy ne fárasszalak:-)?

#52
Értem, hogy mit szeretnél, ez azonban nem olyan egyszerû, hogy egy tábla alapján megoldható!
Minimum létre kell hozni két táblát és két azokra szerkesztett ûrlapot és ezekbe kell felvinned a te tábládat használva a ki-és bejövõ forgalmat. Ezek alapján aztán már bármilyen lekérdezést meg lehet valósítani! Na persze,ha a táblákat, kapcsolatokat megfelelõen megtervezted. Normalizálás! :-)

rushman
#51
nem igazán tiszta, mit akarsz

Dj Révész
#50
Hahó, nincs megoldás?

Dj Révész
#49
Sziasztok! Az a kérdésem, hogy ha van egy saját adatbázisom, pl: külömbözõ áruk, ezek színei, tulajdonságai, cikkszám, darabszám stb. Hogyan lehet a leg könnyebben meg csinálni azt, hogy követni lehessen a kijövõ, bejövõ forgalmat.Lehet ehhez valami jó kis ûrlapot szerkeszteni??

rushman
#48
egyébként a tajszám ellenõrzõ utasítás valahogy így nézne ki:

Private Sub tajszammezõ_AfterUpdate()

Dim db As Database, rst As Recordset, adat as Long

Set db = CurrentDb
Set rst= db.OpenRecordset("ideírdaTAJTábládnevét", dbOpenTable)
' tábla típusú rekordhalmaz megnyitása

adat = ide írd a TAJszám mezõ elérési útját, utána .Value pl: Me.Tajszam.Value
' adat változóban tároljuk a felh. bevitt értéket, késõbb ezt hasonlítjuk össze a rekordhalmaz elemeivel

rst.Seek "=", adat
If rst.NoMatch Then
Exit Sub 'nincs egyezés, ezért kilépés
Else
MsgBox"Van már ilyen TAJszám!"
DoCmd.GoToControl Tajszam beviteli mezõ neve
End If

rst = Nothing
db = Nothing
' Kiürítés

End Sub

Viszont az van ezzel, hogy nálam nem akar mûködni, csak access98-on. Ennyire jutottam...

rushman
#47
ilyen esetekre a rekordforrás nem egy tábla, hanem vagy egy létezõ lekérdezés (lsd:Zipus), vagy egy helyben szerkesztett sql utasítás

#46
Ez miért gond? A lekérdezésbe az összes táblát beviszed, amiben benne vannak a celláid és utána írod a mezõ sorba ugyanazt!

#45
Ez fasza, thx!!!

És mi van akkor, ha a cellák különbözõ táblában vannak? Akkor már nem megy a dolog, erre is megoldásod???
Pl:
1 tábla, elsõ cella: Tajszám
1 tábla, második cella: Családi név
2 tábla, elsõ cella: Utónév
3 tábla, elsõ cella: Utónév 1

A lekérdezésben a CsN+Un+Un1-et kéne összevegyíteni..

#44
Egyszerû a kérdés:
A lekérdezésbe beviszed azt a táblát amiben ezek a mezõk szerepelnek és utána a mezõ sorba begépeled:
valami:&&&
Bár nem értem mi szükség van lekérdezésben erre! Jelentésnél érthetõbb!

#43
Sziasztok, abban segítsetek nekem lécci, hogy lekérdezésnél, hogyan lehet 2,3 cellát egybe illeszteni.
Tehát: van 1 lekérdezésem, ami lekérdezi a nevet:
0. cella: Tajszám
1. cella: Családi név
2. cella: Utónév
3. cella: utónév 1

Igenám, de ez nekem egy cellába kéne 1 rendezni a nevet a késõbbi feldolgozások miatt....
Van valakinek ötlete???

SoDI---
#42
Zipus azt akarja mondani, hogy a jelentés annak a lekérdezésnek az adatait vegye alapul, amelyik megkérdi, hogy mi legyen a refszám.

ISMÉT ÍROM A BLOGOM: http://sodi.freeblog.hu !!! Off-shore az, ha kevesebb pénzed jut megélhetési szülők kezei közé. A sátán legnagyobb hazugsága, hogy tagadja önmaga létezését.

#41
nem a lekérdezést, jelentést!!!