Hirdetés
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Telekom mobilszolgáltatások
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Xiaomi 14T Pro - teljes a család?
- Netfone
- Xiaomi 14T - nem baj, hogy nem Pro
- Samsung Galaxy A54 - türelemjáték
- iPhone topik
- Samsung Galaxy S20 FE - tényleg nem lite
Ú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
válasz
Gülredy
#1826
üzenetére
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
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...
-
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?

-
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
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Kuponkunyeráló
- Samsung Galaxy S25 - végre van kicsi!
- Mibe tegyem a megtakarításaimat?
- Kínai és egyéb olcsó órák topikja
- Nintendo Switch 2
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Háztartási gépek
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- BESZÁMÍTÁS! LENOVO LOQ 15IRX9 notebook - i5 13450HX 32GB DDR5 512GB SSD nVidia RTX 4050 6GB WIN11
- BESZÁMÍTÁS! ASUS TUF F15 FX506HE notebook - i5 11400H 16GB DDR4 512GB SSD nVidia RTX 3050Ti 4GB W11
- Octominer X8 Ultra + 5db Nvidia CMP 90HX
- Lenovo legion pro 5
- Samsung Galaxy S23 Ultra 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Hp Zbook 15 G5 15,6" FHD/ i7-8850H, 32GB, 512GB SSD, Quadro P2000, Magyar- Win11
- Bomba Ár! Lenovo ThinkPad L15 Gen2 AMD - Ryzen 7 I 16GB I 512SSD I 15,6" FHD I HDMI I W11 I Gari!
- HIBÁTLAN iPhone 14 Pro Max 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3937, 100% Akkumulátor
- Samsung Galaxy S21 Ultra / 12/256GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

9-ig hanem mondjuk A9

