access tabana tablo eklemek

Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
sn modalı

değerli yardımlarınızla
güzel bir çalışma oluşturdum
bitincede sitede yayınlamak istiyorum zaten

soruma gelince
vb6 ile access te tablo oluşturmak mümkün mü

mesela

dosya ismi c:\magza.mbd
"şablon" isminde bir tablom var
istediğim vb6 kodu ile text1 e girdiğim isim
adında başka bir tablo oluşturması
ama tabloyu şablondan kopyalaması

yani aynı sutunlardan oluşacak

bunu yapabilir miyiz
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
bu konuda değerli hocalarımdan yardım bekliyorum
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın Fuat Şirin

vb de Accees uygulaması tablo ekleme kodları şöyle:


Kod:
Dim Tablo As New TableDef
Dim tabloAdi As String

tabloAdi=Text1.Text

Set dosya = CreateDatabase("c:\magza.mbd", dbLangTurkish)

With Tablo
.Name = tabloAdi
.Fields.Append .CreateField("ADI", dbText, 20)
.Fields.Append .CreateField("SOYADI", dbText, 20)
.Fields.Append .CreateField("ADRES", dbText, 50)
.Fields.Append .CreateField("TEL", dbText, 20)
End With
dosya.TableDefs.Append Tablo

Set dosya = Nothing
Set Tablo = Nothing
Gördüğünüz gibi tablo şablonuna gerek yok.


Kullanılabilecek veri tipleri:

dbBoolean Boolean
dbByte Byte
dbChar Char
dbCurrency Currency
dbDate Date/Time
dbDecimal Decimal
dbDouble Double
dbFloat Float
dbGUID GUID
dbInteger Integer
dbLong Long
dbLongBinary Long Binary (OLE Object)
dbMemo Memo
dbNumeric Numeric
dbSingle Single
dbText Text
dbTime Time
dbTimeStamp Time Stamp
dbVarBinary VarBinary

Sayı ise alan uzunluğunu gösteriyor.

İyi çalışmalar
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
peki hocam buna bağlı çok olmazsam
tabloları combo ya nasıl alırım
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
tablo adlarını mı kast ediyorsunuz?
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
evet hocam yani bunda bana nasıl bir yol izliyeceğimi sölerseniz bitti gibi prog son olarak müşteri kısmı kaldı

tablo isimleri comboya gelecek
comboda seçtiğim isme girdiğim verileri kayıt yapacam

bu konuda adodc de değişken olacak herhalde

bunu halledebilirsek hocam gerçekten süper olur
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın Fuat Şirin,

Bundan pek emin değilim ama Access te çalıştı


Kod:
 Dim cn As ADODB.Connection, rs As ADODB.Recordset
    
    Set cn = New ADODB.Connection
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source= C:\dosya_kontrol.mdb"

    Set rs = cn.OpenSchema(adSchemaTables)
    

    Do Until rs.EOF
      If rs!TABLE_TYPE = "TABLE" Then
        Combo0.AddItem rs!TABLE_NAME
      End If
      rs.MoveNext
    Loop

    cn.Close
    Set cn = Nothing
    Set rs = Nothing
İyi çalışmalar
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
hocam çalıştı harikasınız
çok teşekkür ettim çok saolun
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
Kod:
Dim Tablo As New TableDef
Dim tabloAdi As String

tabloAdi=Text1.Text

[COLOR="Red"]Set dosya = CreateDatabase("c:\magza.mbd", dbLangTurkish)[/COLOR]

With Tablo
.Name = tabloAdi
.Fields.Append .CreateField("ADI", dbText, 20)
.Fields.Append .CreateField("SOYADI", dbText, 20)
.Fields.Append .CreateField("ADRES", dbText, 50)
.Fields.Append .CreateField("TEL", dbText, 20)
End With
dosya.TableDefs.Append Tablo

Set dosya = Nothing
Set Tablo = Nothing

hocam bu kodlarda

kırmızı olan yerde hata veriyor neden olabilir
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,344
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
-Referans yüklü olmayabilir. Microsoft DataActiveX Object 3.6 (DAO)

Kod:
[COLOR=Red]Set dosya = CreateDatabase("c:\magza.[COLOR=Blue][B]mdb[/B][/COLOR]", dbLangTurkish)[/COLOR]
-Veritabanını açmamışsınız..

Kod:
[COLOR=Red]Set dosya = CreateDatabase("c:\magza.[COLOR=Blue][B]mdb[/B][/COLOR]", dbLangTurkish)[/COLOR]

set db = opendatabase("c:\magza.mdb")

set tablo = db.createtabledef(tabloadi)

With Tablo
.Fields.Append .CreateField("ADI", dbText, 20)
.Fields.Append .CreateField("SOYADI", dbText, 20)
.Fields.Append .CreateField("ADRES", dbText, 50)
.Fields.Append .CreateField("TEL", dbText, 20)
End With
dosya.TableDefs.Append Tablo

db.close
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
Referans yüklü olmayabilir. Microsoft DataActiveX Object 3.6 (DAO)

hocam evet yüklü değil

ama referanstan seçtiğim zaman seçilmiyorda
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
hocam referansıda ekledim fakat olmadı

hiç bir hareket yok

bir el atsanız çok makbule geçer
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın Fuat Şirin,

Dünde sizi düşünüyordum. Ne oldu diye? İçimden bir ses bu hatanın oluşacağını söylüyordu. Ama VB aşabilir diye fikir yürüttüm kendimce. Ama olmamaış.

Aynı uygulamada hem ADO hemd DAO kullanıldığı zaman kimin referansı yukarıda ise o çalışıyor diğeri hata üretiyor.Access te rastladım. Her neyse yeni bir şey deneyelim ve DAO yu çöpe atalım.

Kod:
Sub CreateTable() 
Dim adoxCatalog As ADOX.Catalog 
Dim adoxTable As ADOX.Table 
Dim adoCN As ADODB.Connection 
 
 
'Veritabanıyla bağlantı oluşturuyoruz
Set adoCN = New Connection 
With adoCN 
    .Provider = "Microsoft.Jet.OLEDB.4.0"   
    .ConnectionString = "C:magaza.mdb" 
    .Open 
End With 
     
     
'Uygulama katalogunu bağlantıya atıyoruz 
Set adoxCatalog = New ADOX.Catalog 
Set adoxCatalog.ActiveConnection = adoCN 
 
 
'Yeni tablo oluşturuyoruz
Set adoxTable = New ADOX.Table 
With adoxTable 
    .Name = "CreatedByADOX" 'Buraya sanırım Text1.Text gelmesi lazım
    .Columns.Append "ItemID", adInteger 
    .Columns.Append "ItemDescription", adVarWChar, 100 
    .Columns.Append "ItemValue", adCurrency 
    .Keys.Append "PrimaryKeyItemID", adKeyPrimary, "ItemID" 
End With 
 
 
'Tabloyu uygulamaya ekliyoruz
adoxCatalog.Tables.Append adoxTable 
 
adoCN.Close
Set adoxTable = Nothing
 Set adoxCatalog = Nothing
Set adoxCatalog.ActiveConnection = Nothing


End Sub
Bir de öyle deneyin. Tabi Columns.Append satırlarına oluşturmak istediğiniz alanlar gelecek. Uygun veritipleri atanacak.

İyi çalışmalar
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
Kod:
'Veritabanıyla bağlantı oluşturuyoruz
Set adoCN = [B]New Connection[/B]
With adoCN
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "C:\a\1.mdb"
    .Open
End With
yukardaki satırda hata veriyor hocam

acaba referans mı eklemek gerek
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Bir de şöyle deneyin.

Set adoCN = New ADODB.Connection

İyi çalışmalar
 
Katılım
20 Aralık 2006
Mesajlar
939
Excel Vers. ve Dili
türkçe
hocam dediğinizi yaptım
bu satırda hata verdi
Set adoxCatalog.ActiveConnection = Nothing
silince çalıştı ama
bir hata olabilir mi
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Hayır herhengi bir sakıncası yok.

Ancak Set ile atanmış bilgiler hafızada yer tutarlar, bunları 0 lamak için kullamılır o deyim.


İyi çalışmalar
 
Üst