Dobrý den,
potřeboval bych zjistit, pomocí kterého příkazu dostatnu názvy položek z databáze - které jinak najdu např. v labelu, dám připojit data1 a pak v datafield mám všechny tyto názvy. Zjednodušeně jak dostat všechna data z datafieldu.... Hledal jsem to v data1 i v data1.recordset ale žádnou funkci pro to jsem nenašel :-(
pozn. Pracuji s databázemi pomocí Data1, připojuji na access 2000
Dík moc :-)
Fórum › Visual Basic
Access databáze
poněkud zmatený dotaz
chceš zjistit co???? názvy sloupců nebo ti jde jen o vztažení všech dat
Mám takhle databázi např.:
dvojtečky jsou jako sloupec..
Jméno::Příjmení::Věk 'Jak dostanu toto z databáze accesu? nenašel jsem pro to příkaz, kdybych ho nenašel dál, tak si hold
přes 30 názvů sloupců budu muset uložit do pole, ale nějak to snad půjde ne?
David ::Srovnal:: 16 'celý tento řádek dokážu dostat do programu, pomocí cyklu a data1.recordset.fields(i)
Josef :: Kuchal ::32
..... ::..........::...
atd...
Takže názvy sloupců :-)
Myslím, že cez prvok data sa to zistit ani nedá ale dá sa to pomocou bežného kódu teda pokiaľ je tu reč o VB6.
Na začiatku je predpoklad, že si vieš nastaviť References, tzn. že vieš pripojiť nejaké dll knižnice k projektu (pohľadaj niekde v menu určite nájdeš).
V dialogu "References" označ tú dll-ku, ktorú potrebuješ. Ak budeš pristupovať cez DAO tak Microsof DAO X.Y (X.Y je verzia - čím novšia tým lepšie - neviem aká je posledná).Ak sa jedná o ADO tak postupovať podobne ... verziu a názov dll-ka nepoznám :)
takže na zistenie názvov všetkých stĺpcov pomocou DAO je možné použiť nasledujúci kód (pre databäzu bez hesla):
Dim db As Database
Dim stlpec As Field
' možnosť field a database by mala byť súčasťou pomocníka hneď po pridaní referencie
Set db = OpenDatabase ("C:\cesta k súboru\db.mdb")
'otvoríme si databázu a nastavíme si premennú db
For Each stlpec In db.TableDefs("názov_tabuľky").Fields
Debug.Print stlpec.Name
Next
'Presmerovanie vystupu do debugu je naschvál aby bolo vidiet,
'že to funguje výstupom v pohode môže byť napr. pole.
s ADO-m som nerobil takže s tým neporadím ale na nete o tom určite niečo bude ...
A keby si potreboval aj zoznam tabuliek tak tu je možnosť:
'referencie a kód s premennou db patrí aj sem
Dim tabulka as TableDef
For Each tabulka in db.TableDefs
If tabulka.Attributes >= 0 And tabulka.Attributes <> 2 Then _
Debug.Print tabulka.Name
Next
Som napísal ale nevysvetlil ... to som teda ... :)
ten kód na zistenie tabuliek obsahuje jednu zaujímavú vec a to:
If tabulka.Attributes >= 0 And tabulka.Attributes <> 2 Then
je to tam preto, že v databáze sa nachádzajú aj iné tabuľky tzv "systémové"
pre danú databázu .. ich vypisovanie je teda zbytočné ...
Pro načítání dat z tabulek používek ADODB recordset
Set RST = New ADODB.Recordset
RST.CursorLocation = adUseClient
ls_sql = "select * from tablename;"
RST.Open ls_sql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If RST.RecordCount() > 0 Then
RST.MoveFirst
Do While Not RST.EOF
ll_item = RST.Fields.Item("myitem")
RST.movenext
Loop
end if
RST.close
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Databáze Access — založil LukeK
C# a Access databáze — založil johny
Access databáze — založil Markaos
VBA update Access databáze — založil Nicolas
Access 2007 a heslo v databaze — založil Karya
Moderátoři diskuze