-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
Gülredy
tag
Megvan a megoldás (figyelmetlen voltam) a hozzászólásom tárgytalan!

-
Gülredy
tag
Már rájöttem mit rontottam el nem tudom miért a-t írtam oszlop indexnek

Most így néz ki eddig, működni működik csak az a baj hogy csak az utolsó számot írja bele de azt 20x!
Tehát beleraktam a program végét is (az exportálást) a for ciklusba, így beírja 20x de csak az utolsó számot! Nekem meg pl az A oszlop 20. eleméig mindet bele kellene íratni.For i = 1 To 20
strSQL = "INSERT INTO valuta (b)"
strSQL = strSQL & "VALUES (" & Cells(20, 1).Text & ")"Debug.Print strSQL
cn.Execute strSQL, lngRecsAff, adExecuteNoRecords
Debug.Print "Records affected: " & lngRecsAff
Next iMit rontok el szerinted?
-
Gülredy
tag
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.
For i = 1 To 20
strSQL = "INSERT INTO valuta (b)"
strSQL = strSQL & "VALUES (" & Cells(20, a).Text & ")"
Next iValahogy így?
A második sorra Application defined or Object Defined error-t nyom!
-
Gülredy
tag
Sziasztok!
Egy olyan kérdésem lenne, hogy hogyan tudnék excel-ből sql adatbázsiba exportálni oszlopokat?
Van egy próbálkozásom de nem tudom hogy hogy tudnám megadni az oszlopokat mert mindenre hibát dob!
Dim strSQL As String
Dim strXLSource As String
Dim lngRecsAff As Long
strConn = strConn & "Provider=SQLOLEDB;Data Source=;"
strConn = strConn & "Initial Catolog=;Trusted_Connection=YES"
Set cn = New ADODB.connection
cn.Open "DRIVER={MySQL ODBC 5.1 Driver}" _
& ";SERVER=localhost" _
& ";DATABASE=test" _
& ";UID=root" _
& ";PWD=root" _
& ";OPTION=16427"
strXLSource = "c:\david\test\Munkafüzet1.xlsm;Extended Properties=Excel 12.0"
'
'Import by using OPENDATASOURCE.
'
'INSERT INTO
'(SQL Fields)
'
'SELECT
'
'FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 'Data Source=$]
strSQL = "INSERT INTO valuta (a)"
strSQL = strSQL & "VALUES "
'strSQL = " INSERT INTO valuta VALUES "
'SELECT a, b, c FROM valuta"
'strSQL = strSQL & " ([a]) "
'strSQL = strSQL & " SELECT [a] "
'strSQL = strSQL & " FROM "
'strSQL = strSQL & " OPENDATASOURCE('valuta', 'Data Source=" & strXLSource & "')...[tbla$] "
Debug.Print strSQL
cn.Execute strSQL, lngRecsAff, adExecuteNoRecords
Debug.Print "Records affected: " & lngRecsAff
End SubValójában ezt az strSQL-es részt nem igazán értem hogy hogyan adhatnám meg!
Egy értéket meg tudok adni sql szintaxissal de nekem egész oszlop adatait kellene exportálni! -
Gülredy
tag
Hogyan tudnám ezt a kódot úgy módosítani, hogy ne egy megadott intervallumot írjon ki pl A9
9-ig hanem mondjuk A9
9-től lefele az összes sort (balról jobbra) addig amíg van olyan cella amiben adat van?
Mert ha csak egy nagyobb számot írok a D-nek akkor egy csomó ;-t rak a fájlba, ami meg viszont kell, mert így kell kinéznie a fájban az adatoknak, mindnek külön sorba.
szerző1;cím1;kiadáséve1;kategória1;
szerző2;cím2;kiadáséve2;kategória2;
....Szóval amit beolvas a cellákból azok is ugyan ebben a sorrendben vannak, csak az nem megy hogy ne csak egy sort olvasson be, hanem annyi sort amennyiben adat van!
Private Sub CommandButton3_Click()
Dim ce As Range
Open "D:\export_from_xls.txt" For Append As #1
fileba = ""
For Each ce In Range("A9:D9")
fileba = fileba & ce.Value & ";"
Next ce
Print #1, fileba
Close #1
End Sub -
Gülredy
tag
Az előbbi feleadatot befejeztem, amely egy windows form-on végzendő feladat volt.
Most egy exlcel worksheet-en végzett feladathoz kellene segítség. Ilyen macro-s dolgokat még nem tanultam soha, de ez a kiadott feladat.
Szóval a problémám egyszerű, mégsem találok rá megoldást.
Van az excel táblázaton egy combobox, amelynek értéket kell adni. Ezt meg is tudom tenni, de csak úgy működik az én verzióm, ha a visual basic editorból lefuttatom. De így a felhasználó meg nem fogja látni a három variációt, csak ha elindítaná a programot.
Próbáltam a general részbe berakni, de úgy meg akárhányszor futtatom a programot mindig hozzáadja a három kategóriát a kategória combobox-hoz így nem három lesz belőlük hanem annyiszor három ahányszor futtatom a programot!Szóval itt a kód. (így nem látja a user megnyitáskor a három kategóriát, csak ha F5el lefuttatja visual basicből)
Private Sub Worksheet_Activate()
With ActiveSheet.ComboBox1
.Clear
.AddItem ("Regény")
.AddItem ("Verseskötet")
.AddItem ("Folyóirat")
End With
End SubHogyan tudnám a combobox-nak értékül adni ezt a három kategóriát úgy, hogy az már a dokumentum megnyitásakor benne legyen. Ha lehet kerülném a cellákból betöltött adatkénti megadást. De ha nincs más...
Már tárgytalan!
-
Gülredy
tag
Az előbbi feleadatot befejeztem, amely egy windows form-on végzendő feladat volt.
Most egy exlcel worksheet-en végzett feladathoz kellene segítség. Ilyen macro-s dolgokat még nem tanultam soha, de ez a kiadott feladat.
Szóval a problémám egyszerű, mégsem találok rá megoldást.
Van az excel táblázaton egy combobox, amelynek értéket kell adni. Ezt meg is tudom tenni, de csak úgy működik az én verzióm, ha a visual basic editorból lefuttatom. De így a felhasználó meg nem fogja látni a három variációt, csak ha elindítaná a programot.
Próbáltam a general részbe berakni, de úgy meg akárhányszor futtatom a programot mindig hozzáadja a három kategóriát a kategória combobox-hoz így nem három lesz belőlük hanem annyiszor három ahányszor futtatom a programot!Szóval itt a kód. (így nem látja a user megnyitáskor a három kategóriát, csak ha F5el lefuttatja visual basicből)
Private Sub Worksheet_Activate()
With ActiveSheet.ComboBox1
.Clear
.AddItem ("Regény")
.AddItem ("Verseskötet")
.AddItem ("Folyóirat")
End With
End SubHogyan tudnám a combobox-nak értékül adni ezt a három kategóriát úgy, hogy az már a dokumentum megnyitásakor benne legyen. Ha lehet kerülném a cellákból betöltött adatkénti megadást. De ha nincs más...
-
Gülredy
tag
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?

-
Gülredy
tag
Sziasztok!
Remélem jó helyre írok, Excel-es visual basic-ből kérnék egy apró segítséget.Egy nagyobb feladat részfeladata lenne, hogy egy listbox-ba bevitt tartalmat (gomb nyomásra bevitt tartalmat) egy export gomb nyomására egy txt fájlba kell exportálni.
Ez meg is lenne, de megvan adva hogy milyen formátumba kell exportálni, az én megoldásommal pedig ugyan úgy exportálja ahogy a listában van!Szóval itt az én kódom:
Private Sub CommandButton_export_Click()
Dim i As Long
Open "D:\export.txt" For Output As #1
For i = 0 To lista.ListCount - 1
lista.Selected(i) = True
Print #1, lista.List(lista.ListIndex)
Next
Close #1
End SubEz így exportálja nekem a listát fájlba: (az adatokat csak találomra írtam)
Márai
Füveskönyv
1980
Verseskötet
----------De ilyen módon kellene beírnia a fájlba:
szerző1;cím1;1999;RegényHogyan tudnám a jelenlegi kódomat módosítani ahhoz hogy formázott legyen? Vagy teljesen más kódot kellene használni hozzá?
Régen tanultam már a visual basic-et...Előre is köszönöm a válaszokat!
Új hozzászólás Aktív témák
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- ASUS GeForce RTX 3090 24GB GDDR6X 384bit (ROG-STRIX-RTX3090-24G-WHITE) Videokártya!
- ÁRGARANCIA! Épített KomPhone i7 14700KF 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 14 Pro 256GB Space Black -2 ÉV GARANCIA - Kártyafüggetlen, MS5415
- HIBÁTLAN iPhone 13 Pro Max 256GB Graphite -2 ÉV GARANCIA - Kártyafüggetlen, MS5464
- ASUS TUF Gaming B850-PLUS WIFI Alaplap
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

9-ig hanem mondjuk A9
