View Full Version : کپی یک جدول از اس کیو ال به اکسس
milad.biroonvand
دوشنبه 16 خرداد 1390, 22:22 عصر
سلام
چطور میشه یک جدول که در اس کیو ال هست رو ، دقیقا با محتوا و رکورد ها در یک بانک اطلاعاتی اکسس کپی کرد ؟
اباصلتی
چهارشنبه 20 مهر 1390, 08:05 صبح
اطلاعات را با کد به اکسس انتقال میگردد
For iCount = 0 To UBound(arTables) 'Creation of table in mdb file starts here
If rs.state = 1 Then rs.close()
Sql = "SELECT * FROM " & arTables(iCount)
rs.Open(Sql, Cnn)
If Not rs.EOF Then
tableName = arTables(iCount)
tableCreate = "CREATE TABLE " & tableName & "("
For i = 0 To rs.Fields.Count - 2
tableCreate =tableCreate & rs.Fields.Item(i).Name &" " &_
GetDataTypeEnum(cint(rs.Fields.Item(i).Type), rs.Fields.Item(i).DefinedSize) &", "
Next
tableCreate =tableCreate & rs.Fields.Item(rs.Fields.Count-1).Name &" "&_
GetDataTypeEnum(cint(rs.Fields.Item(rs.Fields.Coun t-1).Type),rs.Fields.Item(i).DefinedSize) &")"
conMdb.execute(tableCreate, , 129) 'Table Creation in Mdb
sqlMdb = "SELECT * FROM " & arTables(iCount) 'SQL to new Table in Mdb
rsMdb.Open(sqlMdb, conMdb, 2, 3)
While Not rs.EOF
rsMdb.addnew() 'Adding Records to Table
For i = 0 To rs.Fields.Count - 1
If Not isnull(rs(i)) Then rsMdb(i) = rs(i) 'Copying Data From SQL table to Access Table
Next
rs.movenext()
rsMdb.update()
End While
rsMdb.close()
End If
Next
milad.biroonvand
دوشنبه 16 آبان 1390, 22:52 عصر
سلام
مر30 . خوب بود اگه میتونی کدهاتو مرتب بزار که بفمهیم چیه . بازم مر30
ali190
سه شنبه 17 آبان 1390, 00:59 صبح
سلام
فرض کن یک جدول در داری با اسم table1 که حاوی دو فیلد a و b هست
فرض کن این جدول رو شما هم در اکسس داری و هم در sql server
ابتدا دو تا Adodc به فرمت اضافه میکنی
یکی رو وصل میکنی به جدول table1 در sql server و یکی رو هم وصلی میکنی به جدول tbale1 در اکسس
حالا میخوای اطلاعات دیتابیس اکسس رو تو sql server بریزی
اینطور میشه:
adodc1.recordset.movefirst
for i=1 to adodc1.recordset.recordcount
adodc2.recordset.addnew
adodc2.recordset.field("a")=adodc1.recordset.field("a")
adodc2.recordset.field("b")=adodc1.recordset.field("b")
adodc2.recordset.update
adodc1.recordset.movenext
next i
مشاهده میکنی که در این حلقه به ازای هر رکورد موجود در اکسس یک رکورد جدید با همان مقدار موجود در رکوردهای جدول اکسس در جدول sql server ایجاد میگردد و بعد از بروز رسانی به رکورد بعدی میرود.
کدها رو در ویرایشگر NotPad نوشتم ، احتمال داره غلط املایی داشته باشه :بامزه:
به بزرگواریت ببخش
سئوالی بود در خدمتم
یاعلی
kitcat_m18
سه شنبه 17 آبان 1390, 15:47 عصر
به نظر من بهتره از امکانات تخصصي اين مسئله استفاده کني
به دنبال دستور OpenRowset در SQL Server بگرد
موفق باشي
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.