vbstreets conferințe - Vezi subiect - și Excel fișiere DBF, crea, citi, edita,
Ajută-mă să învețe să folosească fișiere DBF din Excel.
În acest moment aveți date tabelare stocate într-un fișier text delimitat.
La accesarea acestui fișier trebuie să preia în mod programatic date dintr-un fișier text în listă și de a face „Text Coloane“ și apoi utilizați datele.
întrebare:
Cum de a crea un fișier programatic DBF, tabele, câmpuri, o nouă linie?
Cum de a edita un șir de caractere?
Cum de a șterge un rând?
Cum de a organiza căutarea în tabelul de dorit pentru un câmp sau câmpuri (Găsiți ca în Excel) și a reveni datele din câmpul Drugova găsit șir de caractere?
ceva găsit
Am învățat să creeze o bază (de exemplu, skin-uri, găsit în WWW)
, nu numai BDF și MDB Această bază de date este de asemenea potrivit.
fir care știe cum să lucreze în continuare oy?
Furculițe în EXCEL DAO 3.6 bibliotecă
(Instrumente> Referințe.> Mikrosoft DAO 3.6 Obiect Library)
Pe formularul de a plasa o textbox 5-Tb și redenumiți
TextBox1 în Tex1 (o proprietate - nume) și, de asemenea, cu TextBox2 benzii de rulare rămase în Tex2.
(Asta COD nu sapi) exemple sunt preluate din VB6 și, de asemenea, funcționează bine în EXCEL
Câmpul Tex1 creat pentru a intra în calea și numele fișierului
pr: C: \ bază Moya
câmp Tex2 pentru introducerea numelui tabelului
Domenii Tex3, Tex2 și Tex3 - pentru a introduce numele câmpurilor
Pune pe un buton formular command1 (redenumi totzhe CommandButton1)
Acum avem foarte umplere!
Acest cod are o mulțime de spațiu din cauza descrierilor de conținut ale valorilor diferitelor constante, nu va fi de prisos și oferă mai multă claritate și să înțeleagă că ceea ce facem.
Plasați acest cod în formă de comentarii acolo, totul va fi clar și ușor de înțeles.
Private Sub Command1_Click ()
db Dim Ca DAO.Database
Dacă pe dreapta (Text1, 4) <> ".mdb" Atunci Text1 = Text1 ".mdb"
Fișier = Text1
Set db = DAO.CreateDatabase (File, dbLangCyrillic) " "C: \ test.mdb"
„Am creat o bază de date goală
Dim TBD DAO.TableDef
Set tbd = db.CreateTableDef (Text2) ' "Tabelul 1"
„Am creat un tabel gol
„Valoare Constant Descriere
„DbBigInt 16 Big Integer.
„DbBinary 9 date binare.
„DbBoolean 1 Logic. Acesta poate fi setat la True / False.
„DbByte 2 Byte. Acesta este un număr 0-255.
„DbChar 18 Text lungime fixă. Lungimea este stabilită de mărime.
„DbCurrency 5 bani. Acesta poate conține până la 15 caractere la stânga punctului zecimal și 4 la dreapta.
„DbDate 8 Data și ora.
„DbDecimal 20 zecimale.
„7 tip numeric de precizie dublă DbDouble.
„DbFloat 21 punctul flotant.
„DbGUID 15128 de biți de identificare universal la nivel mondial.
„DbInteger 3 Integer.
„DbLong 4 întreg lung.
„DbLongBinary 11 date binare lungi.
„Câmp DbMemo 12 de acest tip poate stoca date.
„DbNumeric 19 numeric.
„DbSingle 6 tip numeric unică de precizie.
„DbText 10 Text. Lungimea este stabilită de mărime. Poate conține mai mult de 255 de caractere.
„DbTime 22 timp.
„DbTimeStamp 23 data și ora.
„DbVarBinary 17 lungime fixă binar.
„Dar, cu bazele MSAccess ale acestor constante sunt de lucru _
Numai dbBoolean, dbByte, dbInteger, dbLong, _
dbCurrency, dbSingle, dbDouble, dbDate, dbText, _
dbLongBinary, dbGUID și dbMemo. _
Alte constante în magazin pentru baze de date _
într-un alt format (pentru controlul ODBCDirect).
„Parametrul dimensiune specifică dimensiunea câmpului.
Fld Dim Ca DAO.Field
Set Fld = tbd.CreateField (Text3, dbText, 50)
tbd.Fields.Append Fld
Set Fld = tbd.CreateField (Text4, dbLong, 15)
tbd.Fields.Append Fld
Set Fld = tbd.CreateField (Text5, dbBoolean)
tbd.Fields.Append Fld
„Creați câmp tabel«coloane»
„Câmpurile sunt create. Rămâne de a crea indicii. _
Metoda este utilizată pentru a crea indicele _
CreateIndex TableDef obiect. _
Se creează o instanță de index și o returnează. _
Metoda CreateIndex are un singur parametru - nume. _
El stabilește numele noului index.
INX Dim Ca DAO.Index
Set INX = tbd.CreateIndex ( "index1")
„Adăugați la câmpurile de index. _
Creați un câmp utilizând metoda obiectului _ CreateField
Index și adăugați un câmp la colecția lui Fields. _
Argumentul numele metodei CreateField _
Noi cerem numele unui câmp existent, care se adaugă la index.
Set Fld = inx.CreateField ( "field2")
inx.Fields.Append Fld
„Totul este gata. _
Acum trebuie să adăugați tabelul de la colecția TableDefs _
și truc se face!
db.TableDefs.Append TBD
db.TableDefs.Refresh
„Acum, că baza de date a fost creată, _
obiecte apropiate și libere de memorie.
„rs.Close
db.Close
Set rs = Nimic
Set INX = Nimic
Set Fld = Nimic
Set TDF = Nimic
Set dB = Nimic
Unload Me
end Sub