Hirdetés

2024. május 2., csütörtök

Gyorskeresés

Hozzászólások

(#401) jeges válasza sszever (#400) üzenetére


jeges
senior tag

itt le van írva:
[link]

(#402) sszever


sszever
őstag

Most már igazából csak egy dolgra kell valami jó megoldást találni:

1, termék felkerül az adatbáziba

2, felhasználónak el kell tudnia adni, ezért tudnia kell milyen termékek vannak. (ami számára fontos: ötvözet ,vastagság, szélesség, hossz). Ahogy keresnie kell: először kiválasztja az ötvözetet, majd a vastagságot. Ott kap egy listát, amely tartalmazza az ennek a két kritériumnak megfelelő összes nem foglalt terméket. Ezekből a kedves felhasználó kivákasztja és lefoglalja a teméket.

3, a raktáros a foglalt termékekből összekészíti és kivételezi a terméket.

1 - 3-as pont sok sok segítséggel sikeresen működik. 2-es pontra én adatelérési lapot csináltam első körben, ami működik. De gondoltam megkérdem, hátha van szebb, jobb megoldás!

Csak egy ember hiányzik, és máris üres a világ!

(#403) regent válasza Gh0sT (#395) üzenetére


regent
aktív tag

A szinte 100% nem elég, ugye nem kell magyaráznom miért. :)

Legyen az ID: UserEgyediID+Dátum+0-1millió

valahogy így:
Kovács Pisti: User ID=145

Az elsöö általa végzett ügylet ID-je ma: 145200606250
a második:145200606251

stb...

<{Opal}> mert amikor a férfi kódol, akkor csak a férfi van és a kód, olyankor nem kell nő, mert olyankor a nő egy bug, érteitek?

(#404) regent válasza sszever (#402) üzenetére


regent
aktív tag

Szerintem pont az erre a problémára kitalált megoldást választottad. En ugyanezt tettem volna.

<{Opal}> mert amikor a férfi kódol, akkor csak a férfi van és a kód, olyankor nem kell nő, mert olyankor a nő egy bug, érteitek?

(#405) sszever válasza regent (#404) üzenetére


sszever
őstag

Ezek szerint végre én is eltaláltam valaminek a legjobb megoldását! :D

Csak egy ember hiányzik, és máris üres a világ!

(#406) Gh0sT válasza regent (#403) üzenetére


Gh0sT
addikt

A dátum nagyon jó támpont lesz. Bár valszeg a now() függvény eredményét fogom átalakítani számmá és akkor nem kell a 0-1 milliós rész.

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#407) jeges


jeges
senior tag

ennek a dátumos megoldásnak nem látom a nagyobb biztonságát, mint a normál számlálónak. ha a 148-as user pont egy másodperccel (illetve egységnyi idővel) később OK-zza a rekordot, mint a 147-es, akkor megen' összegabalyodnak a cuccok. a now() függvénnyel mindig lehetnek ilyen gondok, ez sztem semmivel nem jobb, mint a számlálós ID. arról nem is beszélve, hogy az ID kiosztást nem gondolnám ennyire bonyolítani, mer' ez csak újabb hibalehetőség.

szerk: upsz, jól félreértettem, write-only üzemmód. :B ez a konkatenált megoldás kissé pazarló, nem? 8+4+3 karakteren kellene tárolni minimum, ha jól értem :Y

én továbbra is a usereknek elkülönített range-t javallanám, az tényleg tuti(nak tűnik), és elég neki 9-10 számjegy bőven. igaz, az adatbázis átalakítása nehézkesebbnek tűnhet.


[Szerkesztve]

(#408) rdi válasza Gh0sT (#384) üzenetére


rdi
veterán

Adatbevitel esetén az acces nem zárolja az adatbázist?
Ha az egyik user megnyitja adatbevitelre az adatbázist, akkor oda, ugyanabban az időben a többieket csak olvasásra kellene beengednie, nem ?

Fej! Tor! Potroh!

(#409) jeges válasza rdi (#408) üzenetére


jeges
senior tag

az access nem ''klasszikus'' szerver-kliens adatbázis, nem tudja úgy lock-olni a központi szervert, mint egy oracle vagy ms sql szerver, abből származik a multiuseres megoldások központi problémája.

ponotsítás: a jet engine az, ami nem képes ilyesmikre, de ez már nem nagy különbség a fentiekhez képest.

[Szerkesztve]

(#410) Gh0sT válasza jeges (#407) üzenetére


Gh0sT
addikt

Tegnap éjjel még próbálkoztam és a következőre jutottam.

User ID: 3 karakter
Now(): az eredményét át kell alakítani ilyenre
2006.05.30 15:37:42 --> 065030153742
Ez összesen 12 karakter.

Ez nagyon sok. :(

Szóval marad az ID + számláló kombó.

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#411) Gh0sT válasza rdi (#408) üzenetére


Gh0sT
addikt

Így van, ahogy jeges kolléga is említette. Előfordulhat olyan, hogy elsődleges kulcsba két egyforma érték kerül, ha több user egyszerre használja az adatbázist. Sőt, nekem most ennél jóval cifrább dolgokat is produkál, de valszeg azért mert nem körültekintően terveztem meg az adatbázist.

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#412) jeges válasza Gh0sT (#411) üzenetére


jeges
senior tag

most néztem meg az ms knowledge base-t ez ügyben. először is sokkal korrektebb a probléma leírása, mint 1-2 évvel ezelőtt. másodsorban viszont az az érdekes, h ők is azt ajánlják, h ha robosztus, hibatűrő, biztos rendszert akarsz, ne használd a jet motort szerver célokra, mer' nem arra való. :)

(#413) Gh0sT válasza jeges (#412) üzenetére


Gh0sT
addikt

Aláírásod honnan? Csak nem Brian élete?

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#414) jeges válasza Gh0sT (#413) üzenetére


jeges
senior tag

de :DDD
lehet, h nem szó szerint (lusta vótam megnézni), de a lényege ez a dolognak. :D

(#415) jeges válasza jeges (#414) üzenetére


jeges
senior tag

de mostmár szó szerinti az idézet ;)

(#416) sszever


sszever
őstag

GhOst.

Este még variáltam az adatbázissal és találtam még egy hibát:

termék kivételezésénél:
Ugyebár a még le nem foglalt termék esetében ki is írja: '' termék még nem lett lefoglalva'' és inaktív a kiadás gomb, viszont a már kiadott terméket hozza aktív kiadás gombbal, amellyel így vissza lehet hozni a kiadott terméket. :(
Gondolom a megoldás félsoros, csak mint láthattad eddig is, a kódokhoz hülye vagyok ám! :D

Csak egy ember hiányzik, és máris üres a világ!

(#417) Gh0sT válasza sszever (#416) üzenetére


Gh0sT
addikt

Ha beérek melóba, akkor megnézem a hiba okát. Valszeg csak a feltételeket kell máshogy paraméterezni.

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#418) sszever válasza Gh0sT (#417) üzenetére


sszever
őstag

Köszönöm :)

Csak egy ember hiányzik, és máris üres a világ!

(#419) Gh0sT válasza sszever (#418) üzenetére


Gh0sT
addikt

A Keresés parancsgomb kódján kell változtatni.

A 2. feltétel vizsgálat után van egy ilyen sor:
If kiadva.Value = True Then
Parancsgomb19.Caption = ''A termék kiadva''
Parancsgomb19.Enabled = True


A True értéket kell átírni False-ra az utolsó sorban.
Parancsgomb19.Enabled = False

[Szerkesztve]

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#420) sszever válasza Gh0sT (#419) üzenetére


sszever
őstag

:)) Tuti.

Felbuzdulv a dolgon próbáltam én is betenni egy piros feliratú mezőt, mely szerint írja ki, ha már ki lett vételezve a termék. Mondanom sem kell, nem jött össze :)

Option Compare Database

Private Sub Form_Load()
DoCmd.GoToRecord , , acNewRec
Címke23.Visible = False
End Sub


Private Sub Parancsgomb16_Click()
DoCmd.Close acForm, ''Vágat kivételezés'', acSaveYes
End Sub

Private Sub Parancsgomb19_Click()
If kiadva.Value = False Then
kiadva.Value = True
Parancsgomb19.Caption = ''A termék kiadva''
Else
kiadva.Value = False
Parancsgomb19.Caption = ''Termék kiadása''
End If
DoCmd.Close acForm, ''Vágat kivételezés'', acSaveYes
End Sub

Private Sub Parancsgomb2_Click()
DoCmd.GoToRecord , , acNewRec

If IsNull(Szöveg0.Value) Then
MsgBox (''Keresés előtt kötelező a mező kitöltése'')
Szöveg0.SetFocus
Szöveg0.BackColor = 11053311
Else
vagatkod.SetFocus
DoCmd.FindRecord Szöveg0.Value, acEntire, False, acSearchAll, , acCurrent, True
Szöveg0.BackColor = 16777215
If foglalas.Value = False Then
Címke23.Visible = True
Parancsgomb19.Caption = ''Termék kiadása''
Parancsgomb19.Enabled = False
Else
Címke23.Visible = False
If kiadva.Value = True Then
Címke27.Visible = True
Parancsgomb19.Caption = ''A termék kiadva''
Parancsgomb19.Enabled = False
Else
Címke27.Visible = False
Parancsgomb19.Caption = ''Termék kiadása''
Parancsgomb19.Enabled = True
End If
End If
End If
End Sub


Private Sub Szöveg0_BeforeUpdate(Cancel As Integer)

End Sub
Private Sub Parancsgomb18_Click()
On Error GoTo Err_Parancsgomb18_Click


Screen.PreviousControl.SetFocus
DoCmd.FindNext

Exit_Parancsgomb18_Click:
Exit Sub

Err_Parancsgomb18_Click:
MsgBox Err.Description
Resume Exit_Parancsgomb18_Click

End Sub

Csak egy ember hiányzik, és máris üres a világ!

(#421) Gh0sT válasza sszever (#420) üzenetére


Gh0sT
addikt

A Form_Load-ba tedd be a Címke27.Visible = False utasítást.

Private Sub Form_Load()
DoCmd.GoToRecord , , acNewRec
Címke23.Visible = False
Címke27.Visible = False
End Sub

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#422) sszever válasza Gh0sT (#421) üzenetére


sszever
őstag

Látod, ha az ember nem olvassa figyelmesen végig... :)) Meg is érdemli!

A ki nem adott, de lefoglalt vágatoknál ok a dolog. NEm jelenik meg
A kiadott vágatnál kiírja, ok a dolog.
A le nem foglaltnál viszont kiírja még!
S indulásnál is kiírja, amikor még minden üres :(

S amikor idáig eljutottam, gondoltam, megnézem mégegyszer, mit ronthattam el, s látom, hogy nem a 27-es címkére írtam be :DDD

Csak egy ember hiányzik, és máris üres a világ!

(#423) sszever


sszever
őstag

MEgint elakadtam, s most már kezdek erősen kételkedni magamban:

Van ugyebár a ''foglalatlan'' lekérdezés, amely az összes olyan terméket tartalmazza, amely nem lett lefoglalva.
Ezt szeretném egy adatelérési lapban is elérni az alábbi módon:

Választólista ötvözetre (tehát kiválaszthatom milyen ötvözetre is vagyok kíváncsi)
Választólista vastagságra (itt kiválasztanám, hogy a fent kiválasztott ötvözeten belül mely vastagság érdekelne)
S ezután jönnének az adatok.

Namármost én a megoldst az alábbiak szerint képzeltem el:

elsőként jön az ötvözet a fejlécben, csoportszintű vezérlőelemként (eddig jó is, ki is tudom választani az ötvözeteket)
második fejlécben jön a vastagság (ugyancsak csoportszintű vezérlőelemként). Ugyebár amikor ezt behúzom, jön a kapcsolat varázsló. ''a foglalt új több rekordjához a foglalt egy rekordja tartozik''.
Nekem valahogy úgy logikus, ha az vastagság több rekordjához az ötvözet egy rekordja tartozik (hisz egy ötvözeten belül lehet több vastagság!).
De nem működik, ugyanis így a második csoportszintű vezérlőelemet (ötvözet) üresen hagyja. :(

Ha azt állítom be, hogy az ötvözet több rekordjához az ötvözet egy rekordja tartozik, működik, de persze a végén ötvözettől függetlenül az összes, a vastagságra érvényes találatot kihozza.

Csak egy ember hiányzik, és máris üres a világ!

(#424) Gh0sT válasza sszever (#423) üzenetére


Gh0sT
addikt

''Nekem valahogy úgy logikus, ha az vastagság több rekordjához az ötvözet egy rekordja tartozik (hisz egy ötvözeten belül lehet több vastagság!).''

Én a következőt érzem:
- egy ötvözet lehet többféle vastagságú (mondjuk 1-5 mm)
- egy adott vastagság több ötvözethez is tartozhat

Ez egy több a többhöz kapcsolat. Persze pontosan nem látom át a példát, de nem lehet, hogy ez a gond?

Egyébként ne kenődj el, én a Visual Basic topicban teszem fel az adatmodellezéssel kapcsolatos primitív kérdéseimet! :) Valahol el kell kezdeni.

Szerk.: korán van, még írni sem tudok.

[Szerkesztve]

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#425) sszever válasza Gh0sT (#424) üzenetére


sszever
őstag

No igen. Jól érzed!

Egy ötvözet lehet többféle vastagásgú - ez így van
Egy vastagság tartozhat több ötvözethez is - ez is így van (hisz lehet, hogy két különböző ötvözetből is van 5, vagy 10 mm vastag).

S ezt így beállítom, és mennie kellene?

[Szerkesztve]

Csak egy ember hiányzik, és máris üres a világ!

(#426) Gh0sT válasza sszever (#425) üzenetére


Gh0sT
addikt

Több a többhöz kapcsolattal nem fogsz tudni mit kezdeni Access-ben. Szükség lesz egy kapcsolótáblára.
Ötvözet tábla (n) ------- (n) Vastagság tábla

Ötvözet tábla (1) ------- (n) Kapcsoló tábla (n) ------- (1) Vastagság tábla

A kapcsolótábla fogja tartalmazni az ötvözet és a vastagság kódját is és nem lesz benne elsődleges kulcs.

Viszont ebben nem vagyok biztos, tehát mielőtt szétbombázod az adatszerkezetet, valaki megerősíthetne. :)

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#427) sszever válasza Gh0sT (#426) üzenetére


sszever
őstag

Azt sem tudom mi az a kapcsolótábla :)

Más megoldás? Pl űrlapon egy olyan keresés:

Kiválasztom választólistából az ötvözetet, és beírom a vastagságot, amire szükségem lenne, majd eredményként kihoz egy listát, ahol az ötvözet és a vastagság feltételnek megfelelő összes eredményt kihozza? Vagy most nagyon hülyeséget kérdeztem?

Esetleg szétbontom a foglalatlan lekérdezést minden ötvözetre, és akkor már csak a vastagságokra kellene rákeresnem (bár kényelmetlenebb a használata, de ha működik...?

Csak egy ember hiányzik, és máris üres a világ!

(#428) sszever


sszever
őstag

Esetleg a vastagságot választom ki listából, és az ötvözetekre csoportosítva hozza a megoldást?

Csak egy ember hiányzik, és máris üres a világ!

(#429) sszever válasza sszever (#428) üzenetére


sszever
őstag

Ez nem is lenne rossz, csak többször hozza ugyanazt az ötvözetet

Csak egy ember hiányzik, és máris üres a világ!

(#430) Gh0sT válasza sszever (#427) üzenetére


Gh0sT
addikt

Hogy néz ki az adatszerkezet és a kapcsolatok?

Gondolom van egy termék tábla. Ez tartalmazza a vastagság és az ötvözet kódját? És vannak külön vastagság és ötvözet táblák?

Mert így jó lenne.

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#431) Gh0sT válasza sszever (#429) üzenetére


Gh0sT
addikt

Elvileg többször is kell hoznia, szerintem ez nem hiba.

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#432) sszever válasza Gh0sT (#431) üzenetére


sszever
őstag

Nem hiba, csak zavaró, hogy ugyan azt az adatot többször is megjeleníti.

Csak egy ember hiányzik, és máris üres a világ!

(#433) sszever válasza Gh0sT (#430) üzenetére


sszever
őstag

Van egy ötvözet tábla. Ebben benne van minden ötvözet egyszer.
Van egy termék tábla, ahova az ötvözettáblából kerülnek bele az ötvözetek, és minden más adat (vastagság, etc.) ebben van

Csak egy ember hiányzik, és máris üres a világ!

(#434) Gh0sT válasza sszever (#432) üzenetére


Gh0sT
addikt

Nah, van erre is megoldás

A DISTINCT SQL parancs kell hozzá.

Egy példa: van egy tábla, amiben vannak mondjuk személyek, akiknek nyilván van tartva a lakóhelyük. Ugye egyértelmű, hogy többen is lakhatnak egy helyen, de te csak egyszer szeretnél megjeleníteni minden települést

SELECT DISTINCT telepules_nev FROM szemely

Ugyanezt meg tudod csinálni a te tábláidra is.

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#435) sszever válasza Gh0sT (#434) üzenetére


sszever
őstag

Végül is úgy oldaottam meg, hogy ötvözetenként kapnak külön adatelérési lapot. Azon belül csak a vastagság válsztható. Jelenleg úgy tűnik működni fog a dolog. Majd tesztelgetem ma párszor.

Csak egy ember hiányzik, és máris üres a világ!

(#436) sszever


sszever
őstag

átraktam az adatbázis a fileszerverünkre (hálózati meghajtóra), majd ott hoztam létre az adatelérési lapot.
Mihelyt kilépek, majd ismét belépek, hiába jó az elérési útvonal, az adatelérési lapok nem működnek. :F :F :F

Csak egy ember hiányzik, és máris üres a világ!

(#437) Gh0sT válasza sszever (#436) üzenetére


Gh0sT
addikt

Mi az az adatelérési lap? Mire jó? Sose használtam ilyesmit. Kell az neked?

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#438) sszever válasza Gh0sT (#437) üzenetére


sszever
őstag

Ott próbáltam megcsinálni, hogy a kedves kollegák tudjanak ötvözet, majd vastagságra szűrve listát kapni a szűrésnek megfelelő, le nem foglalt, anyagokról, és azokat lefoglalni.

Ugyebár erre kérdeztem rá reggel, hogy létezik e más megoldás.

No, a lényege a következő lenne:

Felhasználó kiválasztja, hogy melyik ötvözetből, illetve vastagságból szeretne terméket lefoglalni, amire az adatbázis lehoz neki egy listát, hogy x ötvözetből és y vastagságból ezek a termékek vannak szabadon (lehet, hogy 10 találat lesz rá, lehet, hogy 100 találat lesz rá).
Nem tud rajta semmit sem módosítani, csak annyit, hogy bejelöli foglaltként a terméket, amely erre eltűnik a listából.

Valami ötlet?

Csak egy ember hiányzik, és máris üres a világ!

(#439) Gh0sT válasza sszever (#438) üzenetére


Gh0sT
addikt

Űrlappal ez nem lett vonal szebb és egyszerűbb?

Készíteni kell egy paraméteres lekérdezést, aminek van két paramétere:
- ötvözet
- vastagság

Ezeket hozzárendeled egy-egy textboxhot, vagy comboboxhoz, ami megjelenik az űrlap tetején és szabadon állíthatja a user.

A találatokhoz nem adsz módosítási jogot, kivéve ezt a foglalt dolgot tudná állítgatni, minek hatására ismét lefutna a lekérdezés és frissülnének az adatok.

Így hirtelen ez jutott eszembe. Én személy szerint nem dolgoztam soha adatelérési lapokkal, az űrlapokat jobban komálom. Kicsit utánanéztem és úgy láttam, hogy ez valami webes felülethez hasonló eredményt produkált.

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#440) sszever válasza Gh0sT (#439) üzenetére


sszever
őstag

Így igaz, egy htm oldalt generál.
Mivel űrlappal még ötletem sem lett volna, hogy kezdjek neki, azért indítottam ezzel.
Természetesen űrlappal szebb lenne / lesz. De ezzel meg fogok szenvedni, mire meglesz :D

De a találatokhoz hogy csinálom aut meg, hogy listát hozzon ki, ne csak 1-1 találatot?

Csak egy ember hiányzik, és máris üres a világ!

(#441) sszever válasza Gh0sT (#439) üzenetére


sszever
őstag

Na jó, táblázatot hogy gyártok, azt már rájöttem :)

Paraméteres lekérdezés készítése... Nekem ez nagyon kínai ám! :)

Csak egy ember hiányzik, és máris üres a világ!

(#442) Gh0sT válasza sszever (#441) üzenetére


Gh0sT
addikt

Ha átküldöd a privát címemre este, akkor megcsinálom űrlappal. :) Csak előtte rajzold le a felületet, vagy küldj át egy képet a mostaniról, hogy miként nézzen ki.

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#443) sszever válasza Gh0sT (#442) üzenetére


sszever
őstag

rendben :)
zip-elve, majd jpg-re átnevezve?


Előre is köszönöm!

[Szerkesztve]

Csak egy ember hiányzik, és máris üres a világ!

(#444) Gh0sT válasza sszever (#443) üzenetére


Gh0sT
addikt

Pontosan, de küldj át mindent egyben, hogy ne haljon meg az ACCESS-em! :)

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#445) sszever válasza Gh0sT (#444) üzenetére


sszever
őstag

Nincs már semmi furfang benne. A HTM cuccokat dühömbe kitöröltem már! :D

Csak egy ember hiányzik, és máris üres a világ!

(#446) balmag


balmag
csendes tag

Üdv mindenkinek
Új vagyok még a PH-en de lenne egy Access kérdésem, amit már jó pár helyen feltettem több kevesebb sikerrel. Van egy kis access 97-ben megirt nyilvántartó alkalmazásom, amit valamilyen runtime környezettel akartam volna futtatni és csinálni neki egy telepítő készletetet. ehhez létezik egy ODE97 nevű progi de sajnos....
Hogyan csinálhatnék a kis mdb-nek egy telepítő készletetet runtime-al.


[Szerkesztve]

== Hobbi Barkács ==

(#447) sszever válasza Gh0sT (#444) üzenetére


sszever
őstag

Átküldtem, rajzzal együtt! Azért nagy rajzolási tehetséget ne várj el tőlem. Ügyességem ezen a téren vetekszik az Access tudásommal :DDD

Csak egy ember hiányzik, és máris üres a világ!

(#448) Gh0sT válasza sszever (#447) üzenetére


Gh0sT
addikt

Éjjel küldöm a kész űrlapot. Ne haragudj, de este már nem volt erőm ránézni. :B

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#449) sszever válasza Gh0sT (#448) üzenetére


sszever
őstag

Haragudni? Áldom a neved, hogy ilyen türelmesen segítesz nekem egyáltalán! :D

Persze este próbáltam gyakorolni, és összehozni valamit. Nem sok sikerrel. :) Annyit elértem, hogy a vastagságra rákresve, azt első a feltételnek megfelelő sorra ugrik.
Persze már ennek is örülök :DDD

Csak egy ember hiányzik, és máris üres a világ!

(#450) sszever


sszever
őstag

Átmásoltam az adatbázis hálózati meghajtóra. Ott létrehoztam az adatbázisban biztonsági beállításokat (2 felhasználó, aki futtathatja, stb), saját gépemről indítva működik is, de másik gépről indítva:

[kép]

[link]

Csak egy ember hiányzik, és máris üres a világ!

Copyright © 2000-2024 PROHARDVER Informatikai Kft.