- Samsung Galaxy S21 FE 5G - utóirat
- Samsung Galaxy Watch5 Pro - kerek, de nem tekerek
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- Samsung Galaxy A36 5G - a középső testvér
- Eltűnhet a Dinamikus Sziget
- Apple iPhone 16 Pro - rutinvizsga
- Xiaomi 13 - felnőni nehéz
- Samsung Galaxy A54 - türelemjáték
- Nem fogy a Galaxy S25 Edge?
Új hozzászólás Aktív témák
-
martonx
veterán
válasz
martonx #1984 üzenetére
Nézz be a C# topikba, de biztosan van java topik is.
Ha van internet elérésetek, vagy nem idegenkedtek egy webszerver telepítéstől (mondjuk IIS esetében ez pár kattintás), akkor erősen javallanám a webes vékonyklienses világot. Van ehhez is javascript, css, meg mindenféle topik. És a tudásod is teljesen naprakész lenne. -
vilag
tag
válasz
martonx #1984 üzenetére
Ezzel nem is lenne baj, szívesen áttérek valami másra, de ahhoz kéne valaki aki tud is nekem segíteni és bevezet az új nyelv rejtelmeibe.
Eredetileg is azért lett a VBA, mert én semmilyen programozási nyelvet nem ismertem, a kollégám viszont ebben egész jó volt már akkor is amikor nekem igényem támadt bizonyos folyamatok programozására.Tudsz esetleg valakit aki segítene belemászni egy másik programozási nyelvbe?
Üdv, vilag
-
vilag
tag
válasz
martonx #1981 üzenetére
A másik baj pedig az, hogy csak egyszer fut le én pedig azt szeretném elérni, hogy ugyan úgy működjön mint az a gomb amivel lenyitom. Első kattintásra lenyílik, ha még egyszer kattintok akkor pedig összecsukódik.
A ComboBox1_Click() pedig sajnos nem erre való, mert csak akkor fut le amikor az értéklistából kattintok valamelyik sorra.
-
vilag
tag
válasz
martonx #1981 üzenetére
Először is köszönöm a segítséget!
Most jön a DE (mert ugye mindig van egy de).
Nem működik egészen flottul a dolog.
Úgy tűnik a Framek (mint már oly sokszor) galibát okoznak.Ha egy nem aktív Framen belül lévő vezérlőre kattintok rá, akkor elsőre nem működik a dolog.
Erre valami ötlet?
-
Homer
tag
válasz
martonx #1966 üzenetére
Meggyőzlek!
1.: Azért mert nem itthoni gépre kell fejleszteni! Adott a környezet amiben dolgozni kell.
2.: Kicsit olyan mintha neked azt mondanám, hogy programozó létedre magadnak cseréled ki a dugattyúgyűrűt a trabantodban. Attól, hogy az autószerelés nem a szakmád még érdekelhet a dolog. És amikor azt mondod, hogy van már sokkal jobb is (vb.net helyett akármi), igazat adok neked! Tényleg van már sokkal jobb autó is mint a trabi, de a lehetőség adott. Hiába írnék a Porsche topicba...Arra a mondatra, hogy az adatbázisba csak berakom, a formokon meg kezelem..., pont ez az! Az adatbázisban (értsd adatkészletben) vannak az adatok amikből a választólistát kellene feltölteni. Ezért kellene átadni a listát a form2-nek.
És akkor egy kis on topic is!
Ha már C, akkor ott, hogy csinálnád? -
Homer
tag
válasz
martonx #1961 üzenetére
Nem!
Akkor még egyszer!
A három tábla tehát:
1. Egy összegző (fordító) tábla, mely tartalmaz egy rendszám oszlopot, egy típuskód oszlopot, és egy színkód oszlopot
2. Egy Típus tábla, mely tartlamaz egy típuskód, és egy típus(szöveg) oszlopot
3. Egy Szín tábla, mely tartalmaz egy színkód oszlopot és egy szín(szöveg) mezőt(Nem tudtam rendesen formázni a PH-n a táblákat korábbi levelemben mert csak egy szóközt enged..., talán ezért volt félreérthető.)
A táblák közti kapcsolatok beállítva.
Típus tábla elsődleges kulcsa a típuskód mező, mely idegen kulcs a fordító táblában.
Szín táblában a színkód elsődleges kulcs, és ez is idegen kulcs a a fordító táblában.Szóval, a nyitóformon megjelenik az öszes rekord. (Nyilván nem a színkóddal és a típuskóddal, hanem a szín és a típus szöveggel, ergo sima adatkötéssel nem tudom ezt megoldani (legalábbis eddigi tudásom szerint), de nem is ez most a kérdés.)
Szal eddig okés.
Nah, és itt és most, szeretnék egy új ablakot nyitni az új adatok felviteléhez.
Az új ablakban lenne mondjuk egy textbox a rendszám beírásához, és két combobox a szín és a típus kiválasztásához.
A comboboxoknál a displaymember tulajdonságát a szöveges mezőkre, datamember tulajdonságát a kulcs oszlopra állítva tudom állítgatni a dolgokat, és egy adatsort visszaadva a főformnak, már hozzá is adható az új sor a fordítótáblához.Valami ilyesmit szeretnék csinálni, és ehhez szeretnék találni forráskódot, amit vizsgálgatni tudnék, hogy hogy szokás az ilyen "problémákat megoldani".
Valójában amit itt írtam az nem a valós probléma, amit meg kellene oldani, de nem is várom el, hogy azt megoldjátok helyettem. A konkrét feladatom megoldásához vagy 5-6 táblát kellene átadogatnom a formok közt. Ezért vannak kételyeim, hogy szerencsés-e az a megoldás, ha átadom (akár) az egész adatkészletet (adot esetben akár 99 másik formnak is?), vagy egy profi programban inkább egy megosztott készletet használnának. Referenciaként adják át, így nem többszöröződik a memóriában az adatkészlet? Esetleg csak az 5-6 táblát adják át ilyenkor? Ez pedig ennyi paramétert követelne a 2. form konstruktorában...Összegezve: ezért lennék kíváncsi egy olyan valaki hozzászólására aki "látott már ilyet".
-
vilag
tag
válasz
martonx #1952 üzenetére
Üdv!
Azon, hogy nem tudsz követni nem csodálkozom, mert néha már én magamat sem tudom.
Ez azonban nem véletlen, mert több különböző projekten is dolgozom, így a feltett kérdéseim nem feltétlenül egy problémakörben vannak. Gyakran pedig nincs is időm foglalkozni a projektekkel az egyéb más sürgős munkák mellett.A fenti probléma egyébkét azért merült fel, mert megpróbálom az adatbázis minél dinamikusabbá tenni, hogy ha az adatstruktúrán változtatni kell, akkor ez ne okozzon komolyabb fennakadásokat, mert korábbi munkákban ez igen nagy gondot jelent.
-
vilag
tag
válasz
martonx #1924 üzenetére
Tudom!
Emlékszem is rá, de (mert ugye mindig van egy "DE"...) jelenleg, hogy úgy mondjam hozott anyagból kell dolgoznom (persze azt is én írtam, nemi segítséggel), mert a meglévőt kell továbbfejlesztenem.
Sajnos az eddig is 8 órát kitevő munkaköröm mellé (amibe eddig azért belefért egy kis programozás is) egy távozó kollégám 8 órás munkakörét is ideadták (mondanom sem kell, hogy ugyan azért a bérért). Ennek következtében most 16 órányi munkát kell elvégeznem 8 órában, így sajnálatos módon örülök, hogy ha a toldozás-foldozásra jut időm.
Így új programozási nyelv megtanulásáról egyelőre nem is álmodhatok, sajnos...
Szerk.: melyik nyelvben is maradtunk, mert most kényszerszabadságra megyek egy időre (értsd: sok szabadság maradt, így most ki kell vegyem) és ha a sok bejgli evés mellett lesz kedvem, akkor lehet, hogy nekiesek.
-
sztanozs
veterán
válasz
martonx #1900 üzenetére
Pl számológép? De akár egy gány módon elkészített form kitöltő program is lehet.
Bobrooney: ez annyira elüt a valós VBA felhasználástól, hogy ezen nem gyakorolni fogsz, hanem szívni... Az Excel VBA arra van, hogy a worksheetjeidet és az azokon található adatokat manipuláljad. Azt ajánlom, inkább ilyen feladatokat találj ki magadnak.
-
DerStauner
senior tag
válasz
martonx #1874 üzenetére
"Az access oledb-je ráadásul 64 bites környezetben nem is működik"
erre a projekt elején sajnos rá kellett jönnöm. de kiküszöbölhető volt.
"office is kell, hogy legyen a gépen"
ezt nem tudtam 100%-osan, nem elég csak a jet?
már nem is emlékszem, melyikkel, vagy az sql ce-vel, vagy az sqlite-tal már annak idején kísérletezgettem, amikor a témát kóstolgattam.
egyre emlékszem: rohadt lassú volt.
-
DerStauner
senior tag
válasz
martonx #1872 üzenetére
igen, ezt tudom, de erre a kis projektre nem érdemes egy normális db-t alkalmazni
egy postgresql-t elég nehéz belenyomni egy setup-ba, úgy, hogy click-click-re tökéletesen felmenjen
mert ha fel is megy, ezer gondja lehet, hogy miért nem kapcsolódik a program a szerverhez -
DerStauner
senior tag
válasz
martonx #1869 üzenetére
de pont erre használom a paramétereket
pl. acces_cmb.parameters.addwithvalue("@tulaj1",txtulaj1.text)
és akkor simán írhatom, hogy .... where tulaj1=@tulaj1
ez mindenhol működött eddig. úgy látszik, az access egy külön dió?
EDIT: ha felcserélem a knev és a hrsz paraméteradási sorokat, akkor meg a hrsz működik úgy, ahogy kell, a knev pedig nem.
miért??
-
dkaro
őstag
válasz
martonx #1823 üzenetére
Köszönöm a segítséget így nyert.
Most újabb hibánál akadtam el:
Sub RunScript
For i = 0 to (nyomtato.Options.Length - 1)
If (nyomtato.Options(i).Selected) Then
strComputer = strComputer & nyomtato.Options(i).Value & "%"
End If
Next
Dim tomb
Dim objGroup
Const ADS_PROPERTY_APPEND = 3
tomb = Split(strComputer,"%")
For j = 0 To (UBound(tomb))
Set objGroup = GetObject("LDAP://srv/"&tomb(j)&",ou=Printers,ou=SZE,dc=domain,dc=local")
objGroup.PutEx ADS_PROPERTY_APPEND, "member", Array("cn=user,ou=SZE,dc=domain,dc=local")
objGroup.SetInfo
next
End SubEz a script azt lenne hivatott csinálni, hogy a multiple selectben kiválasztott csoportokba berakja a user.
Sajnos 80005000-es hibaüzenetet kapok. Ettől függetlenül bekerül a user az összeskijelölt csoportba de a hibaüzenet zavar.
Természetesen rendszergazdaként futtatom a scriptet.
Köszönöm! -
stigma
addikt
válasz
martonx #1818 üzenetére
Útközben sikerült megoldanom a problémát, bocsesz.
Amúgy lényegében a textbox-ok összerakása dátummá kellett, mivel ebből a dátumból építkezett tovább a moduljaim és maga a form ezért kellett volna hibakezelés rossz dátum esetén ne legyen gond, hanem inkább hibaleállás.Esetleg olyan kérdésem, lenne még, hogy lehet megoldani azt hogy a GetOpenFilename -el új ablak nyíljon meg ha egy fájlt kiválasztok?
Probléma az hogy Reflection-ben ami WRQ rendszer, VBA van aláépítve de egy átírtabb verzió, amiben nincs Dialog metódus hogy előhívjam csak GetOpenFilename van ami ha megnyitok egy fájt az elérési útját adja vissza.
fileToOpen = Application .GetOpenFilename("Text Files (*.txt), *.txt") -
Gülredy
tag
válasz
martonx #1811 üzenetére
Nagyon köszönöm ez pont úgy működik ahogy kell!
Ráadásul ha egymás után veszek fel két rekordot akkor szépen külön sorba is rakja!
Úgyhogy nagyon eltaláltad a működését!
Nem kell levágnom a végéről se semmit mert ez így van jól!Annyit kérdeznék még, hogy a működését jól értelmezem-e?
készítünk egy fileba nevű változót ami üres lesz
Lesz egy for ciklus az első elemtől az utolsó lista elemig.
majd itt ez a rész nem teljesen tiszta, hogy a fileba nevű változóna értékül adjuk önmagát, és ahhoz hozzáfűzzük a lista i-edik elemét + ;De ettől miért marad egysorban?
-
vilag
tag
válasz
martonx #1802 üzenetére
Bár a mi rendszergazdánk a 90%-ba esik (nem ügyes annyira), azért meg is kell védenem, mert csak mellékesen rendszergazda, emellett ugyan olyan ügyintéző mint bármelyikünk a cégnél. A nemakarás, így betudható a rengeteg ügynek.
Mondjuk ha sokat macerálom valami miatt általában kötélnek áll
-
vilag
tag
válasz
martonx #1799 üzenetére
Sajnos akkor mindkét megoldást (VB6, .NET) el kell vetnem, mert még ha tudom is a rendszergazda jelszót, nem lesz alkalmam feltenni minden gépre.
Még amik helyben vannak, azok csak-csak, mert mondjuk a kora reggeli órákban megcsinálom mikor nincs itt senki, de a másik két központban lévő gépekre nem tudom feltenni. Elmenni nem tudok (na meg nem is akarok), a gépneveket meg nem tudom.Innentől meg a rendszergazda jóindulatán múlik, hogy hajlandó e ennyit vacakolni....
de ahogy ismerem első szóra biztos nem csinálja meg. -
vilag
tag
válasz
martonx #1795 üzenetére
Minden céges gépen XP van.
Sajnos azonban a legtöbb gépen még az SP3 sincs fent, nemhogy a .net keretrendszer...De azért lehet, hogy ha más nem kíváncsiságból megpróbálom majd átfordítani.
A későbbi futtatáshoz is kell majd gondolom a keretrendszer gondolom.
Azt azonban nem tudom, hogy ha abból exe-t csinálok akkor is kell? (mintha azt írtátok volna, hogy abból már lehet exe-t csinálni.)Üdv, vilag
-
vilag
tag
válasz
martonx #1792 üzenetére
A meglévő program átfordítása mekkora erőfeszítést igényelne vajon?
Illetve még ha le is fordítom, minden gépen menne vajon vagy esetleg kell hogy legyen hozzá telepítve valamilyen program, hogy fusson?Utóbbit azért kérdezem, mert a hálózatban nem rendelkezem rendszergazda jogosultságokkal. (legalább is nem egészen legálisan
)
-
shiz
csendes tag
válasz
martonx #1776 üzenetére
Szia!
Ide feltettem a táblából egy darabot: Tábla
"BK"-ban látszi, hogy mi is az amire szükségem lenne eredményként.
Nem valószínű, hogy előfordul de egy hibakeresés csak kell szerintem arra az esetre ha az adott sorba nem szerepelne 1-es érték(erre írtam volna a match-hez egy "nincs" szöveget.A segítséget előre is köszönöm.
Üdv:
-
shiz
csendes tag
válasz
martonx #1774 üzenetére
Gondoltam kicsi részletezem mire is kellene mert még így sem működik.
A oszlopban termékek 2. sortól 13 soronként.
CJ-ben különböző adatok a termékekhez.
A tábla 9. sorától kezdve 1500 ig minden 8 sorban meg kellene vizsgálni szerepel e benne az "1" érték.
Találat estén ettől a cellától jobbra és és fel illetve jobbra és le található cellák különbségét ki kellene íratnom BK oszlopba az 1 találati érték sorától 7 sorral feljebb.
(illetve hiba helyett vmi szöveget kellene kiíratnom arra az esetre ha a match nem találna semmit. -
Homer
tag
válasz
martonx #1749 üzenetére
Tulajdonképpen egy "egyszerű" szerszámnyilvántartó progit szeretnék csinálni. A különböző féle szerszámokat egy táblában tartanám nyilván, a jellemzőiket egy másikban. A progival lehetne új szerszámot felvenni, átkönyvelni két tárhely közt, életutat figyelni (azaz mikor lett kikönyvelve és mikor kaptuk vissza). A "gond" az hogy a szerszámok közt van olyan amik egyformák, de meg kell különböztetni őket egymástól. Ezeket a rajzszámuk és egy egyedi azonosító alapján lehet egyértelműen meghatározni, de értelem szerűen a jellemzőik egy másik táblában ugyan azok. Remélem érthető vagyok.
Nah, és itt jön az amit kérdeztem. Teszem azt az első Form-on megjelennének egy listbox-ban, vagy comboboxban, vagy datagrid-ben, vagy datagridview-ban ha már VB2010- de tulajdonképpen tök mindegy - a jellemzőkben felsorolt szerszámok. Ha valamelyiket kiválasztom, akkor egy új ablakban (hogy miért új ablakban, annak is megvan az oka) egy listbox-ban már csak az ehhez tartozó egyedi azonosítók jelennének meg. Itt kiválasztom a megfelelő egyedit, majd egy könyvel gombon meg kellene adni hogy egyrészt kifelé, vagy befelé történt a könyvelés, egy állaptra vonatkozó típusú érték paramétert kellene megadni, és tulajdonképpen ennyi.
Ezt a feladatot már többféle módon is megoldottam.
Legegyszerűbb az volt, amikor a dataset megfelelő tábláit hozzákötöttem a vezérlők datasource tulajdonságaihoz. Itt ott akadtam el amikor egy kapcsolótáblával kellett volna dolgoznom. Tehát mondjuk a második ablakban a szerszám neveit - típus alapján - egy harmadik táblából (PL.: Szerszám neve a jellemzők táblában csak egy kód, amit a harmadik táblából tároltam) kellett volna kiválasztani. Ekkor gondoltam arra, hogy adatkészletből feltöltök egy objektum kollekciót (itt minden objektum már létrehozásakor kikeresi számára a hozá tartozó infókat (név, azonosító, tulajdonságok, állapotinfók...stb), majd ezeket már egyszerűen tologathatom a Formok közt. Így is megcsináltam. Itt tök egyszerű a szerszám beazonosítása ID alapján, és az SQL parancsok is végtelenül leegyszerűsödtek. A formok közt is már csak egy kis kollekciót kell átadni. Véleményem szerint nem túl elegáns dolog viszont az, hogy feltöltök egy adatkészelet, aztán azt még "átképzem" objektummá, és innen ered a kezdeti kérdésem... Még arra gondoltam hogy egy (-két..-öt?) datareaderrel is meg lehetne oldani ugyan ezt, így még nem próbáltam, de a visszaíráskor akkor megint SQL-ben kellene megírni az utasítsokat, ami (szintén) nem erősségem. Meg hát szerintem még 100 más módon is meg lehetne oldani.
-
Homer
tag
válasz
martonx #1747 üzenetére
Köszönöm a sok infót amit írtok! Az a helyzet, hogy nem tudok ilyen megoldásokat használni. Nézegettem már a MySQL-t, meg az SQL-t korábban, hogy képben legyek valamennyire miről is szól a kliens-szerver megoldás, de mivel munkahelyi gépen szeretnék kezelni adattáblákat, ott nem tudom megoldani, hogy adatkiszolgáló(ka)t telepítsek. A mezei futtatható exe-t viszont el tudom indítani majd, és egy megosztott mappába helyezett mdb file-t meg "egyszerű" lesz kezelnem, és létrehoznom is. ...gondoltam én, kis naív...
Tudom, hogy igazatok van, VB és .NET majdnem ég és föld, viszont itthon azt telepítek amit akarok, ezért feltettem a VS2010-et, azonban benn a cégnél csak egy régi VB2003 van feltelepítve. (Ez is agyonra kicsontozva, de ez most mellékes. Még súgó sincs benne...) Ezért mondom, hogy felváltva használom mind a kettőt, így számomra mindegy, hogy .NET vagy sem, hogy 2003 vagy 2010, vagy akár az is hogy VS vagy annak csak egy része, azaz VB.
Amúgy, nem kenyerem a programozás, mm nem szakmám. Csak úgy mellékesen tanulgatom ráérő időmben, mert néha sokat tud segíteni egy-egy excel makró is.Ennek sincs köze ugye a .NET-hez. .NET-ről olvasgatva meg, van pár(száz) oldalnyi eltérés, de sztem tök érthető a kód, ha eltérés van is. Az alapok hasonlók, ha nem is ugyan azok. Pl.: az alapok megértéséhez, kapcsolódáshoz szükséges objektumok megértéséhez hasznosnak találtam, de ízlések és pofonok kérdése.
Am. az EF-ről eddig még nem hallottam, szal már kaptam hasznos infót tőletek, ezért jó fórumozni! Köszi még 1x!
Visszatérve az alap kérdéseimre: Ti hogyan oldanátok meg ilyen feltételek mellett a program működését? Arra lennék kíváncsi, hogy minden egyes rekordot egy-egy objektum-ként kezelnétek és az objektumok felelnének az adatkészlebe írásért, vagy inkább az adatkészlettel "trükköznétek" közvetlenül?
A másik kérdésem pedig az volt eredetileg, hogy az ablakok közti adatcserét hogyan oldanátok meg? Az egész adatkészlet public-ká minősítésével a programban, objektumok (objektum kollekciók) átadásával, új rekordkészletekbe másolnátok az első készlet megfelelő mezőit, esetleg valami más módon? (Belegondolva..., tulajdonképpen ebből ered az első kérdésem is)
-
Homer
tag
válasz
martonx #1741 üzenetére
:$
Igazából nekem tök mindegy, hogy VB6 vagy VB net.Lehet furán hangzik ez így, de alapnak sztem jó volt a könyv, és hozzá tudok nyúlni bármikor, ha éppen nem jut eszembe egy kifjezés szintaktikája.
Nézegettem amit javasolsz! Lehetséges, hogy tényleg ezt keresem.Köszi!
-
wikings2
őstag
válasz
martonx #1731 üzenetére
Nem kész kódot, csak valami struktúrát, amire lehet ilyen típusú feladatokat építeni és tudom hogy valami logika is van benne, mert mondjuk itt elég sok szaki van aki eltudná magyarázni hogy mit hogy csináljak meg.
Nem lenne bajom ezzel mert ha leülnék és napokat gondolkodnék rajta biztos kitalálnék valamit rá, de az emelt érettségin lesz kb 45 percem erre a részére a feladatsornak és ezért próbálom típus szerint begyakorolni a feladatokat. Ha a beolvasás megvan utána az ilyen a már beolvasott adatbázisban keresgélő és sorba rakó feladatokkal már nincs bajom. -
wikings2
őstag
válasz
martonx #1729 üzenetére
1 éve "tanulom" autodidakta módon mivel az infó tanárom egy seggfej és előre megoldott programokat kommentel ki és magyaráz el. Na most egy előre megírt programról nekem is lesül, hogy mi hogy megy, de magamtól új feladatot megoldani elég nehéz úgy hogy kb 4 séma van a fejemben.
A sorok külön kezelése érdekelne igazából. Valami olyasmire gondoltam hogy 2*n és 2*n+1 edik tagonként olvasnám be őket (de hogy hogy az jókérdés) ,de eléggé hiányos a háttértudásom hozzá.
-
vilag
tag
válasz
martonx #1710 üzenetére
Az addig világos is (eddig is az volt), hogy amikor az adott vezérlőhöz kötött cella értéke megváltozik akkor annak a change lefut. Ez eddig sem volt kérdés. Viszont ez a change lefut ha kell hanem, minden egyes alkalommal amikor valamelyik másik vezérlő értékének a kiírása történik, sőt ennek a vezérlőnek semmi köze az egészhez.
-
vilag
tag
válasz
martonx #1702 üzenetére
Nagyon szépen köszönöm a megoldást!!!! Ezzel sok bonyodalomtól mentettél meg!
Pedig mennyi féle megoldást kipróbáltunk mielőtt megkérdeztem....
A biztonsági beállításokban nem tudsz esetles segíteni?
A futkározással kapcsolatban annyit, hogy rendben, hogy működik a dolog hogy ki kell kapcsolni az automatikus újraszámolást, de szeretném megérteni a dolog miértjét.
Szóval miért van ez így? Mi az oka?
-
vilag
tag
válasz
martonx #1700 üzenetére
Szia!
A vezérlők valóban rá vannak kötve egy egy excel cellára, de nem azonnali hatállyal. A kiírás csak egy gomb megnyomása (és a megfelelő ellenőrzések futtatása) után történik meg.
Nem tudom ez változtat e a nézőpontodon valamit.A többi kérdésben esetleg tudsz segíteni? (Előbbi hozzászólásom)
Üdv, vilag
-
vilag
tag
válasz
martonx #1692 üzenetére
Van egy rutin ami egy gomb megnyomására az egyes vezérlők tartalmát elkezdi egyesével kiirkálni az excel tábal megfelel cellájába.
Most azt vettem észre, hogy a két évszámos vezérlő (CB4 és CB7) change minden egyes alkalommal lefut amikor egy-egy érték kiíródik az excel tábla.
Esetleg ez megvilágosít nálad valamit? -
vilag
tag
válasz
martonx #1692 üzenetére
Ezt már komolyan nem hiszem el.
Próbálok egy másik problémát orvosolni, erre azt veszem észre, hogy ugyan oda lyukadok ki, hogy a már említett vezérlő change elkezd futni.
Épp az initializálást futtatja, aztán ennél a sornál átvált a CB7 Change-re:Sheets("napló").Range("j2").Value = Sheets("irszam").Range("a1").End(xlDown).Row
Most mond meg nekem, hogy ez hogy a búbánatos francban váltja ki a CB7 Change lefutását????
-
vilag
tag
válasz
martonx #1692 üzenetére
Abban én is biztos vagyok, hogy valami nagyon egyszerű megoldása lesz a dolognak (ha egyszer megtalálom).
Egyébként ha tudnád, hogy a debuggolást már hányszor játszottuk végig...
Egyszerűen értetlenül állok a dolog előtt.Azért ha esetleg mégis megtalálom a megoldást megírom, hátha érdekel.
-
vilag
tag
válasz
martonx #1690 üzenetére
Bocs, hogy értetlen vagyok, de nem tanultam egyetemen a programozást.
Egyébként meg Te sem értetted amit én írtam, mert nincs hibaüzenet, csak hibás működés amit ugyan elhárítottam (egy változó bevezetésével), csak az okát szeretném megtudni.
A Combobox4 közvetlenül nincs excel mezőhöz kötve (már ha egyáltalán excel mezőre gondolsz). Csak közvetetten van excelmezőhöz kötve. Egy dátum évszáma, tehát a CB4,CB5,CB6 mezők értéke összefűzésre kerül és csak ez után íródik a tábla egy cellájába.
A probléma csak annyi, hogy ez esetben ez nem történik meg, mert az tök más folyamat ami ettől független.Még egy dolog jutott eszembe. Az évszám a userform initializálásakor kap automatikusan értéket a trim(str(Year(date))) segítségével. Ez indukálhatja eseteg a change lefutását valamilyen módon?
-
vilag
tag
válasz
martonx #1681 üzenetére
De tudomásom szerint csak excelbe történő kiírás folyik, onnan visszaolvasás nem. Legalább is ennél a folyamatnál nem. Tehát nem tudok rájönni, hogy mi indokolja egy elvileg nem érintett combobox change-ének lefutását. Mitől változna az értéke????
Csak egy nyamvad évszám van benne.
Akkor a kódrészletek:
A gomb megnyomásakor ez fut le:
Private Sub CommandButton6_Click() 'Partner rögzítése a gyakori partnerek listájára
If ComboBox12.Text = "" Or ComboBox2.Text = "" Or TextBox3.Text = "" Or ComboBox1.Text = "" Then
hiba = MsgBox("Valamely címzéshez szükséges adat hiányzik, kérlek ellenőrizd!", 16, "Címadat hiba")
Exit Sub
End If
üzenet = MsgBox("Biztosan rögzíteni akarod a partnert a gyakori partnerek listájára az alábbi adatokkal?" + Chr(13) + Chr(13) + _
"Név:" + Chr(9) + Chr(9) + ComboBox12.Text + Chr(13) + _
"Település:" + Chr(9) + ComboBox2.Text + Chr(13) + _
"Utca, hászám:" + Chr(9) + TextBox3.Text + Chr(13) + _
"Irányítószám:" + Chr(9) + ComboBox1.Text, 36, "Partnerrögzítés")
If üzenet = 2 Then
Exit Sub
Else
kileptet = False
partnerujsor = ThisWorkbook.Worksheets("Partnerek").Range("a2").End(xlDown).Row + 1
ThisWorkbook.Worksheets("Partnerek").Range("a" + Trim(Str(partnerujsor))).Value = Trim(Str(partnerujsor - 1))
ThisWorkbook.Worksheets("Partnerek").Range("b" + Trim(Str(partnerujsor))).Value = ComboBox12.Text
ThisWorkbook.Worksheets("Partnerek").Range("c" + Trim(Str(partnerujsor))).Value = ComboBox2.Text
ThisWorkbook.Worksheets("Partnerek").Range("d" + Trim(Str(partnerujsor))).Value = TextBox3.Text
ThisWorkbook.Worksheets("Partnerek").Range("e" + Trim(Str(partnerujsor))).Value = ComboBox1.Text
kileptet = True
End If
End Subahol kiléptet=a probléma miatt bevezetett változó
A futkározó vezérlő change-e:
Private Sub ComboBox4_Change() 'postázás éve
If kileptet = False Then Exit Sub
If eloszor = True Then Exit Sub
CommandButton3.Enabled = True
CommandButton2.Enabled = True
If ComboBox4.MatchFound = False And Len(ComboBox4.Value) > 0 Then
hiba = MsgBox("A postázás éve négy jegyű és nem térhet el az aktuális évtől egy évvel többel!", vbCritical + vbOKOnly, "Dátum beviteli hiba")
ComboBox4.ListIndex = -1
Exit Sub
End If
If ComboBox4.ListIndex = -1 Then Exit Sub
postev = ComboBox4.Value
If Int(postev / 4) <> postev / 4 Then szoko = False Else szoko = True
If postho = "02" Then
If szoko = True Then
ComboBox6.RowSource = "napló!h2:h30"
If ComboBox6.ListIndex = -1 Then
ComboBox6.ListIndex = 28
postnap = ComboBox6.Text
End If
Else
ComboBox6.RowSource = "napló!h2:h29"
If ComboBox6.ListIndex = -1 Then
ComboBox6.ListIndex = 27
postnap = ComboBox6.Text
End If
End If
End If
End SubMint látható az első részletben szó sem esik a Combobox4-ről.
Így esetleg valami ötlet??? -
Oly
őstag
válasz
martonx #1683 üzenetére
Azt hittem, hogy van jobb lehetőség is.
Mivel csak 2-3 button van, így nem gázos... KösziMás:
Function mailsender()
Dim objOutlook, objMail, oAddSig
Set objOutlook = CreateObject("Outlook.Application")
objOutlook.Session.Logon
Set objMail = objOutlook.CreateItem(olMailItem)
Set objOutlook = objMail.GetInspector
With objMail
.SentOnBehalfOfName = "from"
.To = "to"
.Cc = "cc"
.Subject = "Subject"
.Body = "Body"
.Display
End With
Set objOutlook = Nothing
Set objMail = Nothing
End FunctionHogyan tudnám megadni, hogy a felugró levélhez már szúrja be az alapértelmezett Outlook aláírást is?
Amiket találtam (pl: [link]) azért nem jó, mert több gépen fogják használni, más-más aláírási filenévvel.Találtam egy ilyet is, de ez meg nem akar működni HTML-be ültetve.
-
mezis
félisten
válasz
martonx #1656 üzenetére
Kinézete alapján fogtam rá, hogy objektum orientált. Vagyis számomra érthetetlenül túlkomplikált.
Könyvhöz még nem jutottam hozzá, internetről próbáltam beletanulni a VBS programozásba. A legzavarosabb számomra az, hogy meddig VBS és honnan Visual Basic.
Az MS-nek a honlapján folyton összezavarodtak (csak nekem ?) az információk, az előbb még egyértelműen VBS magyarázat volt előttem, aztán egy óvatlan katintás után már lehet, hogy C#.)
(Ja, elfelejtettem, hogy Commodore 64-en is írtam Basic nyelven programot. Innen gondoltam, hogy csak fog ez menni valahogy.)
Meg arra gondoltam, hogy a makro programokról is illő lenne már egy keveset tudnom, ha egyszer már a PDP-8 TECO macrojában annak idején teljesen otthon voltam.A .hta -hoz jól gondolom, hogy a HTML-en keresztül vezet egy bizonyára göröngyös út ?
(A WEB lap készítésbe is bele kellene már csapni, kezd ciki lenni, lassan már a nagycsoportosok is csinálják az oviban.)Átolvastam már néhány könyvet Java, C, Webvilág) a mostanában elterjedt nyelvekről, sajnos azt tapasztaltam, hogy a Lőcs Gy. Fortran IV, könyvével ellentétben egyik sem egy komplett leírás, hanem vagy az elejéből, vagy a "magasabb" részéből ír le valamennyit.
A Clipper5-öt is rongyosra olvastam, miközben folyamatosan fejlesztettem a programjaimat, de ott is tapasztaltam, hogy nem mindig komplett egy utasítás, fv. leírása. -
mezis
félisten
válasz
martonx #1654 üzenetére
Bocs !
Akkor most inkább gyorsan bevallom, hogy Algol-68, Fortran IV -el kezdtem a programírást, script nyelvnek a Focal meg a TECO-macro volt. A PC-ken meg a FoxBase, Clipper volt számomra elérhető. Ez utóbbiról (illetve az MS-DOS ]dir parancsáról) is csak azért váltottam egy ilyen hiper/szuper csilivilire, mert a Windows ékezetes karakterei nem stimmelnek az MS-DOS karaktereivel
Azon meglepődtem, hogy milyen komplikált Windowsban megoldani a képernyőre való kiírás várakozás nélkül. (Gondoltam ott marad nyitva az ablak, majd becsukja akit zavar.)
Az programot (és elődjeit) CD, DVD tartalmak nyilvántartására használom. Egy alkönyvtárban gyűjtöm az ilyen file-okat, melyeknek a neve azonos CD, DVD nevével.
Keresésre az intéző keresőjét használom. Ez egy újabb, remek lehetőség, hogy a csv file-t meg tudja nyitni pl. táblázat kezelő is.A dupla kattintásos indítás külön jól jön, ha az ismerősöm is használni fogja.
Tegnap már próbálgattam a cscript.exe -vel való futtatást, a jelenlegi verzió ugyanúgy fut, sajnos az echo utasítást már eltüntettem belőle. Késő volt és már fáradt voltam. Nagyon kimerít engem ez az objektum orientált programozás.
Köszönöm a tanácsokat !
-
kisi
aktív tag
válasz
martonx #1637 üzenetére
Sziasztok!
Amikor készítettem, hibaüzenetet adott, ha nem volt előtte Call. Kis piros felkiáltójel, mint értelmetlen utasítás.
Ami érdekes, az az , hogy a help, és a neten lévő források szerint is jól írtam.
Most viszont próbaként kitörölve a Call utasítást is tökéletesen működik.. -
vilag
tag
válasz
martonx #1608 üzenetére
Ha már így megcsiklandoztad a fantáziámat, akkor ajánlhatnál valami jó könyvet (lehetőleg magyar nyelvűt), ami esetleg a világhálón is elérhető. Aztán lehet, hogy belevetem magamat az access-re történő átültetésbe (bár még excelben sincs befejezve
)
Most belekukkantottam az accessbe, de azt sem tudom mit kell indítani, úgyhogy kicsit megrémültem, de gondolom ez csak kezdeti ijedtség lesz...
-
vilag
tag
válasz
martonx #1605 üzenetére
Sajnos ez van.
Pénz nincs semmire, tehát a lightswitch kilőve.
Az Oracle-t használja a cég (a központi szoftverünk arra lett írva), de kétlem, hogy a szerverhez kapnánk hozzáférést, mivel az a központban van, mi meg megyei szinten vagyunk.
Az Access járható út lenne (gondoltunk is rá), de sajnos ahhoz még annyit sem konyítunk mint az excelhez és a VBA-hoz.Megj.: a gazdálkodói adatbázis jelenleg is excelben van (ugyan így VBA-val "megbolondítva"), de eljárt felette az idő. Új tartalmak szükségesek és megváltoztak az elvárásaink is, így arra gondoltunk, hogy már egyszerűbb újra írni, (és persze akkor már a funkciókat is kibővíteni) mint toldozni-foltozni.
Esetleg ha lenne egy mentor akkor elkacérkodnánk az access gondolatával, de anélkül egyikünknek sincs annyi (fölös) munkaideje, hogy önerőből belevesse magát a dologba.
Szerk.: a félreértések elkerülése végett, ez nem kiadott munka, inkább a saját munkánk megkönnyítése, és kihívás is egyben.
-
Homer
tag
válasz
martonx #1594 üzenetére
Nem olyan bonyolult ez. Nekem nem ez a munkám, de érdekel a dolog.
Ezt hoztam össze:Public Sub proba()
....MsgBox (keres("h"))
End SubPublic Function keres(mit As String) As Integer
...Dim elem As Object
...Dim oszlop As Integer
...oszlop = 0
...For Each elem In Range("A1", "Q1")
.....oszlop = oszlop + 1
.........If mit = elem.Value Then
.............keres = oszlop
.........End If
...Next
End FunctionHogy olvashatóbb legyen bepontpontpontoztam.
Persze ha picit még gondolkodnék rajta biztosan találnék más megoldást is. (Pl. az elem típusa nem túl elegáns object-ként kezelve, dehát műxik.)
A lényeg, hogy ha írsz egy ilyen function-t akkor azt bárhányszor meghívhatod a fenti sub-ban. Ez a megoldás A-tól Q oszlopig vizsgálja az egyezéseket. Ha nincs egyezés akkor 0-val tér vissza a függvény.
-
26centi
csendes tag
válasz
martonx #1552 üzenetére
nos nem tudom mit jelent az pontosan, hogy létezik-e ezen a helyen, de miután deklaráltam, és még értéket is adtam neki ugyanezen subrutinban, gondolom létezik. ha más nem, értékadásnál már nyafogott volna, hogy baja van, de az lefut.
Sub missing_cost_centers()
Dim i, n As Integer
i = 9
n = 2
Do
Sheets...... -
Homer
tag
válasz
martonx #1546 üzenetére
Ne haragudj meg, de nem szeretném elárulni pontosan mi a feladat, és szerintem nem is az a fórumozás célja, hogy más oldja meg helyettünk a feladatot. Ezért kérdeztem általánosságban. Így lesz véleményem szerint a legtöbb fórumozó számára hasznos az általad javasolt megoldás is.
Egyébként köszönöm a hsz-edet! A listview-ból való törlés valóban egyszerű megoldás lenne, csak szerintem nem túl elegáns ilyenkor újraépíteni a kollekciót.
Mivel a kollekció elemeire csak az indexükkel lehet hivatkozni, az okozta a gondot, hogy a névsorba rendezett lista indexei összekeveredhetnek az eredeti kollekció indexeihez képest. A megoldást közben én is megtaláltam (pár órás próbálkozással rájöttem), hogy a collection elemeire lehet key-el is hivatkozni. Mivel a key sem visszakereshető programból, (így a listview feltöltésekor sem tudom átadni az adott elem key-jét), a kollekció minden objektumához hozzárendeltem egy-egy key integert. Ezt a key-t átadva a kollekció remove metódusának törölhető a kívánt elem.
-
Homer
tag
válasz
martonx #1544 üzenetére
Az a kérdés, hogy:
Ha egy kollekció elemeit listview-ban jelenítem meg akkor az egér jobb klikk-jére megjenő törlés menüponttal hogyan tudom kitörölni a kollekció megfelelő elemét?Egyébként a kérdőjel azt jelenti a mondat végén, hogy az egy kérdés lenne. A fenti hsz-ben pedig:
"A kérdésem az lenne, hogy az ily módon feltöltött listview-ból hogyan tudom visszanyerni az eredeti objektum "helyét" a kollekcióban?"
-
RexpecT
addikt
válasz
martonx #1541 üzenetére
Ott volt a leírásban, a függvény megkap egy sztringet amiben számok állnak vesszővel elválasztva ezek közül adja vissza a két legnagyobb szám összegét:
Function osszead(param As String)
Dim szoveg() As String, szam1 As Integer, szam2 As Integer, i As Integer
szoveg = Split(param)
For i = LBound(szoveg) To UBound(szoveg)
If szam1 < szoveg(i) Then
If szam2 < szoveg(i) Then
szam1 = szam2
szam2 = szoveg(i)
Else
szam1 = szoveg(i)
End If
End If
Next i
osszead = szam1 + szam2
End Function
Sub main()
Dim szamok As String
szamok = "1 2 3 20 5 6 8 9 8"
MsgBox osszead(szamok)
End Sub -
Des1gnR
őstag
-
Des1gnR
őstag
válasz
martonx #1524 üzenetére
Erre nem gondoltam, de sajnos így is ugyan azt a hibát dobja:
http://img259.imageshack.us/img259/1186/hibag.png
Új hozzászólás Aktív témák
Hirdetés
- exHWSW - Értünk mindenhez IS
- Szeged és környéke adok-veszek-beszélgetek
- Vezetékes FEJhallgatók
- Motoros topic
- Internet Rádió építése (hardver), és programozása
- Autós topik
- Samsung Galaxy S21 FE 5G - utóirat
- Steam, GOG, Epic Store, Humble Store, Xbox PC Game Pass, Origin Access, uPlay+, Apple Arcade felhasználók barátságos izgulós topikja
- Samsung Galaxy Watch5 Pro - kerek, de nem tekerek
- Beszántaná a marketingért felelős részlegét az Intel
- További aktív témák...
- GARIS! Lian Li HydroShift !!!! LCD !!!! 360TL (RGB)
- Nitro ANV15-51 15.6" FHD IPS i5-13420H RTX 4050 16GB 512GB NVMe magyar vbill ujjlolv gar
- KFA2 RTX 3060 12GB GDDR6 1-CLICK OC Eladó!
- ZOTAC RTX 3060 12GB GDDR6 GAMING Eladó!
- DELL LATITUDE 7400, 14" FHD IPS, i7-8665U CPU, 16GB DDR4, 256GB SSD, W11, 27% áfás számla, 1 év gara
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RX 6500 XT 4GB GAMER PC termékbeszámítással
- Dixit 4 Eredet (bontatlan, fóliás kártyacsomag)
- Samsung Odyssey G6 S27BG650EU - 27" QHD 2K 240Hz Ivelt - Gaming monitor - 1,5 év Gyári garancia
- Bomba ár! Dell Latitude 7320 - i5-11GEN I 8GB I 512SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- LG 27UL500-W - 27" IPS - 3840x2160 4K - 60Hz 5ms - HDR10 - AMD FreeSync - 300 Nits - sRGB 99%
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest