Új hozzászólás Aktív témák
-
martonx
veterán
Én olvastam, meg gondolom mások is, csak nincs kedvünk az exceles önképzésedet megzavarni. Illetve a vélményemet tudod: Amire az excelt most használod, azzal már rég túlléptél a normalitás határán.
Persze tudom, hogy a körülmények erre kényszerítenek, nincs ezzel gond, de ne várd el, hogy az extrémebbnél extrémebb problémáidra ugorjunk. -
martonx
veterán
Van rálátásom közszférában dolgozó rendszergazdák (középiskolai rendszergazdától kezdve egyetemi rendszergazdán át, megyei önkormányzat - vagy hogy is hívják mostanában - rendszergazdájáig) munkájára. Ha én egyszer ott dolgozhatnék.
Tudom nem nagy pénz, de mellette napi 8 órában mehet a maszek. -
martonx
veterán
Szia!
Ez egy VB topik, mi akik itt segítkezünk szeretjük a VB-t, sok mindenre szvsz a VB a legjobb választás. Viszont mint te is látod, erre a tök egyszerű dologra éppen nagyon nem jó választás. Mint látod pl. DirectX-hez, meg mindeféle alacsony szintű grafikus API-hoz baromi körülményes passzintani.
De hogy konstruktív is legyek. Ha én VB-ben mindenképpen ezt akarnám megvalósítani, akkor:1. VS2010 kuka, VS2012-t használnék. Ismét megkérdezem miért VS2010-et használsz?
2. WPF-ben csinálnám vagy Silverlight-tal (szintén halódó, de létező technológiák), sokkal jobban kezelik alapból mindeféle DirectX, meg OpenGL nélkül is az animációkat, mint a windows forms.
3. Esetleg XNA-vel csinálnám, abszolút nem csak windows phone-ra jó, xbox-ra, meg sima windows-ra is lehet XNA-vel fejleszteni. Szvsz a sorozatos beteg MS döntések egyike (remélem a legutolsó) volt, hogy tavaly óta nem fejlesztik tovább, így win8-ra, új Xbox-ra, wp8-ra már az XNA nem megfelelő, azaz halálra van ítélve. -
martonx
veterán
Na most érted. Ha elolvastad, amit belinkeltél, akkor mi a kérdés? Várj, mielőtt újra felteszed a két kérdésedet, kérlek újra olvasd végig, amit belinkeltél
Na ugye, hogy ott a válasz.Gyengébbek, meg angolul nem tudók kedvéért, összefoglalom a lehetőségeidet:
1. Visual Basic használata XNA-vel (tudnod kell, hogy az XNA a win8 megjelenésével halottnak nyilváníttatott, de ettől még használható ha nagyon akarod).
2. VS2012 (tényleg miért éppen VS2010-et használsz) C++ projekt használata DirectX-el.Egyébként játékot nem windows form alkalmazásban kell írni, nagyon nem.
-
martonx
veterán
Sehogy, a referenciákat minden projekthez külön kell hozzáadni.
Másrészt ha egyszer már belőttél egy projekt típust, akkor tudsz belőle saját projekt template-et csinálni. És legközelebb abból tudsz új projektet csinálni, így végeredményben az új projektedben már benne lesz a megfelelő referencia. -
martonx
veterán
Úgy érted, hogy adatbázisként szeretnéd használni? Mert az ADO tudja adatbázisként használni az excel file-t, anélkül hogy neked kézzel külön vezérelned kellene a megnyitását.
Bár már kifejtettem, hogy kevés szerencsétlenebb dolog van, mint xls-t használni kvázi adatbázisként.
-
martonx
veterán
válasz
sztanozs #2136 üzenetére
Erről jut eszembe. Itt van egy nagyon hasznos excel függvény név fordító.
Én legalábbis szívtam már azzal, hogy hogy van ez vagy az a függvény angol excelben, meg német excelben. És fordítva is, amikor angol, német megoldást látok, az hogy van magyarul.http://hu.excel-translator.de/
Hátha más excelesnek is hasznos lesz.
-
martonx
veterán
A háttérben futó közös használatú file-al az a baj, hogy lazán engedni fogja felülírni egymás módosításait.
Ha nem háttérben fut, akkor szépen figyelmeztet, hogy melyik jusson érvényre, de háttérben futva mit fog csinálni?
Ha már háttér fájl, akkor használj xml-t, vagy csv-t, és azokat kvázi adatbázisként használva (elvileg), nem lesz ilyen problémád.
Bár nem tudom, hogy a háttér file-t hogy használod, lehet az ilyen problémát már valahogy kiküszöbölted excelen belül. -
martonx
veterán
válasz
Rapido251 #2096 üzenetére
Ez most VB.Net-es winforms akar lenni?
Mert ott mondjuk megcsinálhatod, hogy 3 kör alakú vezérlőt raksz egymás fölé. A legnagyobb pirosat legalulra, a középső fehéret középre, legkisebb pirosat legfelülre.
Így el tudod kapni a kattintást, és le tudod kezelni, hogy éppen melyik részére ment a kattintás. -
martonx
veterán
válasz
palimre #2086 üzenetére
vilag-gal ez egy régi történet. Ő is tudja, hogy már rég túllépte azt a határt, amire az excel makró programozást kitalálták.
Ha te is túllépted ezt a határt, akkor ezt ideje felismerned, és a programodat immár nem excelben, hanem valamilyen más erre kitalált keretrendszerben újraírni.
Ha pedig - mint vilag - valamilyen külső infrastrukturális körülmény miatt ezt nem tudod megtenni, akkor meg nem kell csodálkozni, hogy az exceles makród néha bizony furcsán fog működni.
Ezt hozzáértőként javaslom. Mi itt cégen belül sok mindent excelben programozunk, de mindent abban programozni butaság lenne. -
martonx
veterán
Megvan, bár ez lehet, hogy csak külső forrásból működik?
Application.Visible = False
Ezzel tudod kikapcsolni az exceled láthatságát. Viszont lehet, hogy ez a meglévő exceledet is eltünteti? Ez akkorj ön jól, amikor egy vbscriptel, vagy bármivel excel-t kell macerálni, és nem akarom villogtatni a képernyőn.
Magából az excelből belülről használva, nem tudom működik-e? -
martonx
veterán
ok, akkor előtte, ahol a Workbooks.ot létrehozod, vagy még előtte, ahol az excel objektumot létrehozod, kellene hogy beállítsd. Csak körülbelülre mondom, lusta vagyok kipróbálni:
set ea = new excel.application vagy valami ilyesmi sorod van elvileg.
Aztán ea.display vagy ea.visible = false kell, és ekkortól az az excel objektumod végig a háttérben marad.
-
martonx
veterán
válasz
chepavel #2018 üzenetére
Nem tudom, neked kellene valahogy jobban képbe kerülnöd, illetve tőlük maguktól kérdezni, mivel ez egy kereskedelmi termék, élő szupporttal.
A te képbe kerülésedet arra értem, hogy ami kódrészletet belinkeltél, nem más mint egy függvény deklaráció legelső sora, azaz éppen semmit nem jelent. -
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. -
martonx
veterán
válasz
DerStauner #1965 üzenetére
Először is visszakérdeznék, hogy miért kell asztali alkalmazás?
Aztán ha megtudnak győzni,hogy ehhez tényleg asztali alkalmazás kell, és windows 8-ról beszélünk (netalán), akkor html5+js-el.
És ha tényleg asztali alkalmazás kell, de windows 8 nem játszik, akkor utolsó lehetőségként wpf-el csinálnám MVVM design pattern-nel C# code-behind-al.Tudom ez itt egy VB.Net topik, nekem a kedvenc nyelvem a VB, de a konkrét kérdésedre, akkor is a fentieket tanácsolnám.
-
martonx
veterán
Ja és még pár adalék a hsz-edhez. Jó dolog, hogy önképzed magad, ezért is szólok, hogy a winforms, meg úgy általában minden vastag kliens-es megoldás, mára kiment a divatból. Ahogy ezt már írtam, azért nem találasz a témához rendes tutorialokat, mert jó pár éve nem fejleszt winforms-ban senki, hacsak nem muszáj neki (mondjuk speciális perifériák kezelése miatt). Épp a zárójeles rész miatt meghalni soha nem fog a winforms (bár én akkor is inkább wpf-ben gondolkoznék így 2013-ban), de a supportja mára tényleg pusztán névleges.
Ha tanulni akarsz, és bejön az MS vonal, és ebben szeretnél elhelyezkedni, akkor válts ASP.NET-re (webforms, mvc, webpages).Ugyanez a helyzet a VB.NET-tel. Válts C#-ra helyette.
És hidd el vagyunk itt páran, akik csináltunk pár vastag klienses programot, én pl. 2009-ig.
-
martonx
veterán
Pedig szerintem jól értettelek. Valamit nagyon elbonyolítasz. Form2-n akarod az új adatokat felvenni. Hát vedd fel, mentsd le és kész!
Mi a probléma? Még mindig nem értem, miért Form1-ről vársz ehhez adatokat, és miért akarsz bármit is visszaadni neki? Ne adatsorokat akarjál ide oda adogatni, azért van az adatbázis, hogy elmentsd bele az adatokat. Illetve azért van a datasource, hogy abban mókoljál mindkét formmal. -
martonx
veterán
Azt nem értem miért akarsz te bármilyen adatot átadni form1-ről form2-nek? Nem pont from2-n veszed fel az adatokat, és adod vissza form1-nek? És mindez persze csak képletesen szólva, miel valójában a DB-be kell visszajuttatndo az új adatokat, majd ha már ott vannak form1-en csak frissíteni kell a grid-et.
Szerintem te valamit nagyon túlbonyolítottál.
Manapság már nem triviális winforms tutorialokat találni, mivel alig fejleszt bárki winforms-t. Bár szerintem az MS How do I sorozat több éves videói biztosan megtalálhatóak még valahol. -
martonx
veterán
Bevallom egy ideje nem tudlak követni. Mindenesetre egy ilyet találtam neten, hátha segít:
Function ConvertToLetter(iCol As Integer) As String
'-----------------------------------------------------------------------------
' Procedure : ConvertToLetter
' Author : Niall - Zypher.co.uk
' Purpose : Convert a number to a column letter
' Tested to 256 columns, assumed to work until 702 (ZZ)
'-----------------------------------------------------------------------------
'
If iCol <= 26 Then
' Columns A-Z
ConvertToLetter = Chr(iCol + 64)
Else
ConvertToLetter = Chr(Int((iCol - 1) / 26) + 64) & _
Chr(((iCol - 1) Mod 26) + 65)
End If
End Function -
martonx
veterán
-
martonx
veterán
válasz
VANESSZA1 #1917 üzenetére
Alakul ez. Mint mondtam valamilyen adatbázis elérési hiba, esetleg odbc driver hiány lehet. Olyan részletek érdekelnek, hogy pl. mikor dobja ezt a hibát? Rögtön megnyitáskor, vagy valamilyen funkció megnyitásakor?
Mennyire bonyolult ez az Access db? Vannak benne belinkelt külső adatforrások? Van benne makró, és lehet az dobja a hibát? -
martonx
veterán
válasz
kotapeter #1883 üzenetére
"Csináltam olyan szűrést, hogy minden adatot beraktam és a programon belül a textbox-okba be lehet írni a feltételeket, viszont ha üres a mező akkor megborul a rendszer.."
Ez így kiindulásnak nem rossz. Arra figyelj oda, hogy a feltételeidben kezeld le az üres textbox-ot is, mondjuk valahogy így (szintaktikailag lehet hibás a példám):
where
(mezo1 = textbox1.text or textbox1.text = '')
and (mezo2 = textbox2.text or textbox2.text = '')
stb... -
martonx
veterán
válasz
DerStauner #1875 üzenetére
Én mindhármat használtam, igaz minden esetben csak tényleg minimális adatmennyiséget (néhány tucat sor) tároltam bennük. Ennyiből én nem láttam sebesség különbséget köztük.
-
martonx
veterán
válasz
DerStauner #1873 üzenetére
nem, de ott van például az SQL CE vagy az SQLite. Az access oledb-je ráadásul 64 bites környezetben nem is működik, office is kell, hogy legyen a gépen. Bármilyen kicsi is a projekt SQL CE-t (vagy sqlite-ot) érdemes használni, az access-t pedig tökéletesen mellőzni kellene.
-
martonx
veterán
válasz
DerStauner #1871 üzenetére
hát igen, az access az egy külön világ. Mondjuk éppen ezért nem kellene access-t használni külső DB-ként. Arra az access-nél csak jobbak vannak.
-
martonx
veterán
válasz
DerStauner #1868 üzenetére
ez olyan hosszú volt hogy el se olvastam, de látatlanban egy nagyon hülye tanács. Nem lehet, hogy a string-et nem tetted '-ok közé? Azaz where mező = valami helyett where mező = 'valami'-t kellene használni.
Nagyon gagyi ötlet, de nem ez lehet a gond? -
martonx
veterán
válasz
DerStauner #1865 üzenetére
akkor adj be egy speciálisabb RIA Services LINQ-t, vagy az online konverternek, és nézd meg, hogy mit fog vele kezdeni.
Az online konverterek addig jók, amig a console.writeline sor végéről le kell szedni a pontosvesszőt
Mint mondtam nekem is a VB.Net a kedvencem, de már évek óta nem igazán használtam, pont az újabb technológiák nehézkes VB.Net támogatása miatt. -
martonx
veterán
Én már régóta .Net vonalon kizárólag C#-ozok. Makróról .Net-re áttérésre legjobb a VB.Net viszont rá fogsz jönni, hogy mostanra szinte senki nem használja a VB.Net-et, ergo tutorialokat, példákat, különösen az újabb technológiákhoz szinte lehetetlen hozzá találni.
Nekem személyes kedvencem a VB.Net, és mind tudásban, mind sebességben egyenrangú a C#-al. Csak valahogy az élet így hozta, hogy mostanra a C# dominál. -
martonx
veterán
válasz
DerStauner #1829 üzenetére
Ez most winforms, wpf, silverlight, vagy asp.net? Winforms-al nem hiszem, hogy tudnál valaha is ilyet csinálni.
-
martonx
veterán
válasz
Gülredy #1824 üzenetére
strSQL = "INSERT INTO valuta (a,b,c)" - itt adod meg, hogy mely sql mezőkbe akarsz értéket beszúrni.
strSQL = strSQL & "VALUES (" cells(sor,oszlop).text ")" - kell két and jel természetesen, csak a billentyűzetem szar.Az egészet pedig egy for vagy while ciklussal annyirszor futtatod ahány sorod van.
-
martonx
veterán
Amit írtál kódot nem tűnik rossznak, szóval nem igazán értem, hogy most mi is a bajod?
Hogy kell bezárni a form-ot, a msgbox után? Vagy mit szeretnél tudni?
Esetedben abszolút nem kell az on error-okkal szórakozni. Simán használod az IsDate függvényt, és ennek értelmében vagy hibát jelzel vissza a felhasználónak vag futtatod a kódot. -
-
martonx
veterán
Szia!
Egy for ciklussal bejárod a tömböt, és mondjuk egy div-be (ami a DataArea) belerakod a rádió gombokat.
strHTML = strHTML & "<input id=" & intButtonCount & " type="radio value= " & tomb(i) & ">"
És az összeállított rádió gombokat így rakod bele a div-be:
DataArea.InnerHTML = strHTML -
martonx
veterán
Azért eléggé nulla tudással állsz neki, ha életedben nem hallottál még a Visual Studio-ról és a .Net technológiáról. No sebaj sosem késő szintet lépni.
Ez esetben lehet mégsem lesz ujjgyakorlat átportolnod VB.NET-re a cuccot?
És bizony futtatáskor is kelleni fog a .Net, nem csak az exe elkészítésekor. Mivel a .Net nem fog elrontani semmit a felhasználók gépén, az illegás rendszergazdai hozzáféréseddel is nyugodtan feltelepítheted. -
martonx
veterán
Attól függ milyen .Net verzióval fordítod, olyan .Net futtató fog kelleni.
XP-ken alapból semmilyen sincs, win7-en már van 3.5-ös alapból, tehát ezekre nem kell külön telepíteni.
És igen az 5000 soros kódot újra kell írnod, noha a szintaktika hasonlósága miatt ez korántsem olyan vészes munka, mintha pl. C-re írnád át. -
martonx
veterán
Sub Count()
Dim var As Variant
For i = 9 To 1500 Step 13
var = Application.Match(1, Rows(i).Cells, 0)
If Not IsError(var) Then
'ilyenkor az i mutatja, hogy melyik sorban találtunk, var mutatja, hogy melyik oszlopban
'azaz e két info ismeretében bármit meg tudsz csinálni
MsgBox ("találtam")
End If
Next
End Sub -
martonx
veterán
node minek ide with egyáltalán?
Ez is feleslegesenek tűnik:
Dim ml As Worksheet
Set ml = Worksheets("Munka1")Ez egyértelműen zárójel hibás:
Set erdmeny = keszlet - felhet / 2) Debugolás a barátod
Ez így működésképtelen. Ismétlem, minek ide with?
With eredmeny
If eredmeny > 0 Then
.Range("BK" & sor).Value = 0
Else
.Range("BK" & sor).Value = eredmeny
End If
End WithEhelyett simán csak valami ilyesmi kellene neked:
If eredmeny > 0 Then
Range("BK" & sor).Value = 0
Else
Range("BK" & sor).Value = eredmeny
End If -
martonx
veterán
válasz
ArchElf #1757 üzenetére
én személy szerint egy tömb sorba rendezését tényleg úgy oldanám meg excelben, hogy eleve cellákba tölteném az adatokat, majd a cellákat sorba rendezném, és kész is. Egyébként az egész VBA-n látszik, hogy a tömbök kezelése eléggé mostoha gyerek benne.
Ugyanígy fenti módszerrel szoktam tömbben keresni is, azaz erre is a cellákat, és az FKERES-t használom inkább.
Ráadásul, amennyivel macerásabbnak tűnik cellákban keresni, sorba rendezni annyival gyorsabb, mint VBA-ban for ciklusokat pörgetni, mindenféle feltétel mentén.
És erre mondtam, hogy excel makróban koncepcionális hiba nem a cellákat, és az excel built-in funkcióit használni tömb műveletekre.
De mindez csak a véleményem, tapasztalatom. Nem mondom, hogy ez az egyetlen járható, ürdözítő út.
-
martonx
veterán
válasz
tomi0829 #1754 üzenetére
http://www.cpearson.com/excel/VBAArrays.htm
Ugyan továbbra is alapvető koncepcionális hibának tartom a tömbök erőltetését Excel makróban, mikor az egész excel egy nagy két dimenziós tömb, de itt hátha találasz megfelelő példa kódot. -
martonx
veterán
válasz
tomi0829 #1752 üzenetére
Excelben egyrészt minek használsz tömböket? Ott van erre egy millió excel cella.
Másrészt nem tudom mit is akarsz pontosan, de az excel beépített FKERES, VKERES függvényeivel próbálkoznék első körben, a felesleges makró programozás helyett.
És amikor megvannak az eredmények, akkor a cellákat könnyen sorba is tudod rendezni. -
martonx
veterán
Érteni véllek, és szerintem ez alapján egyrészt erősen túlbonyolítod a dolgot.
Másrészt ez itt egy VB szakmai topik, aminek nem feladata programozni tanítani, programozás technikákat, design patterneket, DB séma módszertanokat oktatnia.
Mivel rendes, értelmes tagnak látszol, privátban, mailben szívesen segítek, amikor időm engedi. Egyébként jó nyomon jársz, próbálgatásokkal tudod csiszolni a tudásodat.
Új hozzászólás Aktív témák
Hirdetés
- Nyíregyháza és környéke adok-veszek-beszélgetek
- Bluetooth hangszórók
- One otthoni szolgáltatások (TV, internet, telefon)
- A fociról könnyedén, egy baráti társaságban
- Mielőbb díjat rakatnának a görögök az olcsó csomagokra az EU-ban
- Sega, Nintendo - retro konzolok
- Sorozatok
- Hyundai, Kia topik
- Mesterséges intelligencia topik
- Google Pixel topik
- További aktív témák...
- Szép Hp Pavilion 15-eg Kis Gamer Laptop 15,6" -45% Bivaly i7-1165G7 16/512G FHD IPS Iris Xe
- EJJ! Dell Latitude 7330 -65% "Kis Gamer" Üzleti Profi Ultrabook 13,3" i5-1245U 16/512 FHD IRIS Xe
- i5 10500/ RX6600XT/32GB DDR4/ 512GB m.2 alapú konfig/ garancia/ ingyen foxpost
- Szép Dell Latitude 7320 -60% "Kis Gamer" Üzleti Profi Ultrabook 13,3" i7-1185G7 32/512 FHD IRIS Xe
- LG NanoCell 50NANO759PR
- LG OLED Televíziók: FRISS SZÁLLÍTMÁNY -30%
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASRock B85M Pro4 B85 chipset alaplap garanciával hibátlan működéssel
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Napi 700 ft tól elvihető RÉSZLETRE BANKMENTES HP 840 G11 Ultra 5
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged