PDA

View Full Version : انتقال اطلاعات از جدول بانک اکسس به جدول مشابه در بانک SQL



HM2020
چهارشنبه 21 فروردین 1392, 08:32 صبح
سلام

1) چطور می تونم اطلاعات مربوط به جدول بانک اکسس رو به جدول مشابه در

بانک SQL انتقال (کپی) کنم؟

2) دستور مربوط به compact and repair database دیتابیس اکسس به SQL ؟

اکسس :



Public Function CompactAccess2007(sDatabase As String) As Boolean On Error GoTo EndLine Dim blnRet As Boolean Dim ObAccess As Object Dim StrTmp As String Dim StrSrc As String blnRet = False Set ObAccess = CreateObject("DAO.DBEngine.120") StrSrc = sDatabase StrTmp = sDatabase & "x" Call SetAttr(StrSrc, vbNormal) Call ObAccess.CompactDatabase(StrSrc, StrTmp, , , ";pwd=123456;") Call Kill(StrSrc) Name StrTmp As StrSrc Set ObAccess = Nothing blnRet = True EndLine: CompactAccess2007 = blnRet If Err.Number Then Call MsgBox(Err.Description, vbExclamation) End Function


با تشکر

HM2020
دوشنبه 26 فروردین 1392, 16:30 عصر
سلام و علیکم

لطفا بنده را در این امر یاری نمایید با تشکر HM2020

davood-ahmadi
سه شنبه 27 فروردین 1392, 15:31 عصر
سلام
2 راه وجود داره:
1- ویزاردی : با دانلود و نصب این برنامه که لینکش در زیر و رایگان هم هست می تونید اکسل و یا اکسس رو به اسکیوال و یا بلعکس بفرستید.
http://www.microsoft.com/en-us/download/confirmation.aspx?id=5498
2- برنامه نویسی : شما ابتدا باید جدول مورد نظر رو توی دیتاریدر بریزید و متناظر اسکیوال آن رو با کد ایجاد کنید که این موضوع بسته به جدول ،کمی سخت و پیچیدگیهای خودشو داره.

HM2020
پنج شنبه 29 فروردین 1392, 17:48 عصر
جناب davood-ahmadi (http://barnamenevis.org/member.php?33827-davood-ahmadi)

با تشکر از جوابتون


2- برنامه نویسی : شما ابتدا باید جدول مورد نظر رو توی دیتاریدر بریزید و متناظر اسکیوال آن رو با کد ایجاد کنید که این موضوع بسته به جدول ،کمی سخت و پیچیدگیهای خودشو داره.

یه راهنمایی برای جواب دومتون میدید؟

davood-ahmadi
شنبه 31 فروردین 1392, 12:44 عصر
سلام
کد :
Private Sub SendData()
'تعریف کانکشن اکسس و یک کامند و یک ریدر
Dim mdbcon As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Application.StartupPath & "\data.mdb")
Dim mdbcmd As New OleDb.OleDbCommand("Personel", mdbcon)
Dim mdbreder As OleDb.OleDbDataReader
'تعریف کانکشن اسکیوال و یک کامند
Dim Sqlcon As New SqlConnection("Data Source= ;DataBase= ;User ID= ; password= ")
Dim SqlCmd As New SqlCommand
SqlCmd.Connection = Sqlcon
Try
'اطلاعات از اکسس خوانده می شه و داخل دیتاریدر ریخته میشه
mdbcon.Open()
mdbreder = mdbcmd.ExecuteReader
'کانکش اسکیوال باز میشه
Sqlcon.Open()
'در یک حلقه ردیفهای دیتاریدر خوانده میشه و اطلاعات به اسکیوال ارسال میشه
Do While mdbreder.Read
SqlCmd.EndExecuteNonQuery("Insert INTO Personel (clm1, clm2,clm3,clm4) values ( " & mdbreder("clm1") & " ," & mdbreder("clm2") & " ,'" & mdbreder("clm3") & "' ,'" & mdbreder("clm4") & "' )")
Loop
Catch ex As Exception
MsgBox("Error : " & ex.Message, MsgBoxStyle.Exclamation)
Finally
mdbcon.Close()
Sqlcon.Close()
End Try
End Sub
در اینجا پیش فرض گرفتیم که شما بانک و جدول خود را در اسکیوال ساخته اید و clm3 و clm4 هر دو از نوع دیتاتایپ متنی هستند.