# Native Code > برنامه نویسی در 6 VB > مطالب مرتبط با بانکهای اطلاعاتی در VB6 >  انتقال اطلاعات بين 2 بانك اكسس با SQL

## rezankh

با سلام 
من  مي خوام با زدن دكمه‌اي اطلاعات رو از يك بانك ديگه بخونه و به ادامه ركوردهاي بانك اطلاعاتي خودش اضافه كنه. (مثال : در يك اداره يك سيستم اصلي داريم و در بقيه سيستم‌ها اطلاعات ثبت ميشند حالا همه اطلاعات اين سيستم ها در سيستم اصلي يكي ميشه)
خوب من از كد زير استفاده كردم كه در اون Text1 آدرس بانك دوم هستش.

Dim DBase As Database
Dim SQL As String
Set DBase = OpenDatabase(Text1.Text, False, False, "")
SQL = "INSERT INTO Table1'" & App.Path & "\Information.mdb' Select * From Table1"
DBase.Execute SQL
MsgBox ".Úãá ÇäÊÞÇá ÇØáÇÚÇÊ ÈÇ ãæÝÞíÊ Èå ÇíÇä ÑÓíÏ", vbInformation, "Copy Completed"



ولي ارور ميده ارورهايي مثل فايل شناخته نشده و ...
بانك اصلي و بانك دوم هر دو هم نام هستند و نام جداول آنها Table1مي باشند.
آيا به نظر شما اشكال كدي كه نوشتم چيه؟

----------


## m_vb1386

دستورت رو اينجوري تست كن
SQL = " INSERT INTO Table1 IN '" & App.Path & "mdb1.mdb' SELECT * FROM Table2"

----------


## rezankh

با سلام و تشكر از شما دوست عزيز
كد شما رو امتحان كردم ولي بازهم خطاي زيرو ميده (2 تا عكس ضميمه)
در ضمن من اطلاعات رو ميخوام بين 2 بانك هم نام با جداولي هم نام انتقال بدم منتهي بانك رفعي يا دوم ما مسيرش توسط تكست باكس (Text1) مشخص ميشه.

----------


## m_vb1386

شما از اكسس 2003 استفاده كردين؟ اگه اينجوريه سرويس پك 6 ميكروسافت رو ستاپ كنيد ببينيد چي ميشه

----------


## rezankh

> شما از اكسس 2003 استفاده كردين؟ اگه اينجوريه سرويس پك 6 ميكروسافت رو ستاپ كنيد ببينيد چي ميشه


با سلام
بله و سرويس پك 6 ميكروسافت رو هم كه حجمش 60 مگ بود رو هم نصب كردم ولي باز هم ارور ميده.
آيا اين امكان رو داريد كه يك مثال برام ايجاد كنيد؟
با تشكر.

----------


## xxxxx_xxxxx

برنامه ضميمه رو نگاه كنيد. همون دستوري كه كاربر m_vb1386 گفتند.

----------


## rezankh

> برنامه ضميمه رو نگاه كنيد. همون دستوري كه كاربر m_vb1386 گفتند.


با سلام و تشكر
در برنامه من نام هر 2 بانك و نام جدول آنها يكي هست يعني هر دو  mdb1 و هر دو داراي جدول Table1 هستن. ظاهرا همين امر سبب بروز ارور در كد شما و بنده مي‌شود حال دو راه داريم :
1 - كد را طوري تغيير دهيم كه درست شود ( آيا ممكن است؟)
2 - قبل از فراخواني بانك مبدإ، نام بانك و جدول آنرا تغيير نام دهيم و سپس از كد شما استفاده كنيم كه در اينصورت آيا ميشه بانك و تيبل آنرا تغيير نام دهيم؟ چگونه؟

----------


## m_vb1386

اين رو ببين ربطي به نام بانك و تيبل نداره فقط بايد مسيردهي شما مناسب باشه
موفق باشين

----------


## rezankh

> اين رو ببين ربطي به نام بانك و تيبل نداره فقط بايد مسيردهي شما مناسب باشه
> موفق باشين


با سلام
دستتون دردنكنه كدي كه داديد كملا درست بود و روي سيستمم كار كرد ولي وقتي همون كد رو در برنامه خودم استفاده مي‌كنم و فقط جاي نام بانك ها رو عوض مي‌كنم پيغام ناشناخته بودن بانك رو ميده.
آيا ممكنه دليلش استفاده از برخي كامپوننتها باشه كه كد OpenDatabase يا ... رو از كار بندازه چون همه رو چك كردم حتي بانك خودم رو در برنامه شما امتحان كردم و جوب داد و لي در پروژه خودم نه.
حالا امشب كامپوننتهايي كه استفاده كردم رو روي برنامه شما امتحان مي‌كنم تا ببينم چي ميشه.
فعلا باي

----------


## rezankh

> آيا ممكنه دليلش استفاده از برخي كامپوننتها باشه كه كد OpenDatabase يا ... رو از كار بندازه


كامپوننت ها رو هم چك كردم مشكلي نداشتند پس مشكل چيه؟ :خیلی عصبانی:

----------


## rezankh

با سلام مجدد 
بالاخره فهميدم.
مشكل از انتخاب Microsoft DAO 3.5 Oject Library به جاي Microsoft DAO 3.6 Oject Library بود و نيز ترتيب References ها هم اشتباه بود كه بعد از مرتب نمودن آنها به شكل برنامه شما، درست شد.

----------


## m_vb1386

باز هم خدا رو شكر كه مشكلتون حل شد البته من خودم از adodb براي اين كار استفاده ميكنم نه از dao

----------


## unforgiven

سلام دوستان
من همين كد رو البته با تغييراتي در اون براي Adodb بازنويسي كردم ولي مشكلي كه وجود داره, از پسورد بانك اشكال مي گيره شايد شما بتونيد راهنمايي كنيد . در واقع مي خوام اطلاعات جدول پوشه Full به جدول Empty انتقال پيدا كنه .
يه سوال ديگه هم داشتم اگه بانك اولمون از رفرنس  Dao استفاده كرده باشه و بانك دوم از Ado با چه كدي ميشه انتقال اطلاعات از بانك Dao به Ado منتقل بشه ؟

فايل رو ضميمه كردم لطفا اگه مي تونيد تصحيحش كنيد .
متشكرم

----------


## m_vb1386

شما مشكلت با كد ها نيست مشكلت اينه كه نميدونيد اصلا ado و dao چيه (البته ببخشيد كه اينقدر واضح گفتم) پيشنهاد ميكنم يكم در مورد اينها تحقيق كنيد خودتون هم ميتونيد اين مشكل رو حل كنيد با اين وجود اگه نشد سعي ميكنم كمكتون كنم

----------


## unforgiven

> شما مشكلت با كد ها نيست مشكلت اينه كه نميدونيد اصلا ado و dao چيه (البته ببخشيد كه اينقدر واضح گفتم)


دوست عزيز فكر كنم بيشتر اعضا از جمله خودم فرق بين شي Dao ,Ado و Rdo مزايا و معايب و نيز نوع كاربردشون رو بدونند . پس مشكلي از اين بابت وجود نداره .
فكر كنم سوال دوم باعث شده اين فكر رو بكنيد ! البته قبول دارم كه منم سوالم رو خوب مطرح نكردم .   
الان كه خودم خوندمش متوجه شدم چي نوشتم !!
ممنون كه يادآوري كرديد.

----------


## m_vb1386

اگه بازهم مشكلتون حل نشد خوشحال ميشم كمكتون كنم

----------


## unforgiven

سلام مجدد
وبي جان 86  اگه مي توني تصحيحش كن .مسير بانك اول مشكلي نداره ولي مسير بانك دوم كه اونم پسورد داره رو هر جور نوشتم باز Syntax Error ميده . الان مشكل درج صحيح مسير پسورد بانك دوم هست .اشكال اين كد كجاست ؟
SQL = "INSERT INTO Tbl In '" & App.Path & "\empty\data.mdb';Persist Security Info=False;Jet OLEDB:Database Password=123 SELECT * FROM Tbl "

----------

