نمایش نتایج: از شماره 1 تا 9 , از مجموع 9

موضوع: ارتباط اكسل با پايگاه داده اكسس از طريق ado

  1. #1


    آخرین بازدید
    2024/02/14
    تاریخ عضویت
    January 2015
    نوشته ها
    71
    امتیاز
    30
    سپاس
    0
    سپاس شده
    20 در 12 پست
    سطح اکسل
    66.00 %

    ارتباط اكسل با پايگاه داده اكسس از طريق ado

    سلام وقت بخير
    براي ارتباط از اكسل به ساير پايگاه هاي داده ماندد اكسس و SQL دستورات زيادي را مطالعه و در نهايت دستور زير و يا فايل پيوست را براي ارتباط اكسل با يك Table اكسس بنام course و فايل اكسس به نام Database11 كه در دستكتاپ سيستم موجود است نوشته ام.
    اما هر بار با خطاي Run time error مواجه ميشوم.
    لطفا از دوستان اگر كسي اطلاعات داره دستور بنده را ويرايش و ارجاع كنه
    همچنين توضيح بده كه كجاي كار من ايراد داشت
    کد PHP:
    [PHP][CODE][CODE][QUOTE][/QUOTE][/CODE][/CODE
    [/PHP]
    با تشكر


    Private Sub MyProject()


    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim strConnection As String




    Dim strServer, strDatabase, strUsername, strPassword As String




    strServer = "local"
    strDatabase = "C:\Users\h_gholami\Desktop\Database11.accdb"
    strUsername = "Admin"
    strPassword = """"



    strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=strServer ;Initial Catalog=strDatabase;User ID= strUsername;Password= strPassword;"




    Set cn = New ADODB.Connection
    cn.ConnectionString = strConnection
    cn.CommandTimeout = 30
    cn.Open
    Set rs = New ADODB.Recordset


    With rs
    .ActiveConnection = cn


    .Open "SELECT * FROM Course"


    Sheet1.Range("A1").CopyFromRecordset rs
    .Close
    End With
    cn.Close




    End Sub

    - - - Updated - - -

    سلام وقت بخير
    براي ارتباط از اكسل به ساير پايگاه هاي داده ماندد اكسس و SQL دستورات زيادي را مطالعه و در نهايت دستور زير و يا فايل پيوست را براي ارتباط اكسل با يك Table اكسس بنام course و فايل اكسس به نام Database11 كه در دستكتاپ سيستم موجود است نوشته ام.
    اما هر بار با خطاي Run time error مواجه ميشوم.
    لطفا از دوستان اگر كسي اطلاعات داره دستور بنده را ويرايش و ارجاع كنه
    همچنين توضيح بده كه كجاي كار من ايراد داشت
    کد PHP:
    [PHP][CODE][CODE][QUOTE][/QUOTE][/CODE][/CODE
    [/PHP]
    با تشكر
    کد PHP:
    Private Sub MyProject()
    Dim cn As ADODB.ConnectionDim rs  As ADODB.RecordsetDim strConnection As String

    Dim strServer
    strDatabasestrUsernamestrPassword As String

    strServer 
    "local"strDatabase "C:\Users\h_gholami\Desktop\Database11.accdb"strUsername "Admin"strPassword """" 
    strConnection "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=strServer ;Initial Catalog=strDatabase;User ID= strUsername;Password= strPassword;"

    Set cn = New ADODB.Connectioncn.ConnectionString strConnectioncn.CommandTimeout 30cn.OpenSet rs = New ADODB.Recordset
    With rs
    .ActiveConnection cn
    .Open "SELECT * FROM Course"
    Sheet1.Range("A1").CopyFromRecordset rs.CloseEnd Withcn.Close

    End Sub 
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    تصاویر کوچک فایل پیوست تصاویر کوچک فایل پیوست Untitled.jpg  

  2.  

  3. #2


    آخرین بازدید
    یک دقیقه پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,470
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    سلام دوست عزیز
    این خط رو اصلاح بفرمایید. اگر باز هم ارور داد بفرمایید تا دقیقتر بررسی بشه
    کد:
    strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=strServer ;Initial Catalog=strDatabase;User ID= " & strUsername & ";Password=" & strPassword & ";"


  4. #3


    آخرین بازدید
    2024/02/14
    تاریخ عضویت
    January 2015
    نوشته ها
    71
    امتیاز
    30
    سپاس
    0
    سپاس شده
    20 در 12 پست
    سطح اکسل
    66.00 %

    سلام دوست عزیز
    دستور شما رو جایگزین دستور خودم کردم
    این بار خطای Run time error 3001 داده و طبق تصویر پیوست به خط cn.ConnectionString گیر داده
    لطفا یه بررسی مجدد داشته باشید
    اگه این موضوع حل بشه واقعا ممنون میشم
    تصاویر کوچک فایل پیوست تصاویر کوچک فایل پیوست 02.jpg   01.jpg  

  5. #4


    آخرین بازدید
    یک دقیقه پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,470
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    نقل قول نوشته اصلی توسط zxcvbn نمایش پست ها
    سلام دوست عزیز
    دستور شما رو جایگزین دستور خودم کردم
    این بار خطای Run time error 3001 داده و طبق تصویر پیوست به خط cn.ConnectionString گیر داده
    لطفا یه بررسی مجدد داشته باشید
    اگه این موضوع حل بشه واقعا ممنون میشم

    دوست عزیز اگه شما میخواید از متود ConnectionString استفاده کنید باید فقط مسیر سورس رو بدین. provider و سایر اطلاعات رو با متود دیگه مشخص کنید.
    مثلا اینطوری:
    کد:
    fpath = "Data Source= C:\sampleDB.accdb"
    rprovider = "Microsoft.ACE.OLEDB.12.0"
    With cnn
    
    
              .ConnectionString = fpath
              .Provider = rprovider
              .Open
    
    
    End With
    برای راحتی کار من پیشنهاد میکنم فقط از متود open استفاده کنید. مثلا اینطوری:

    کد:
    fpath = ThisWorkbook.Path & Application.PathSeparator & ThisWorkbook.Name
    str = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""" _
                            & fpath & """;Extended Properties=""Excel 12.0 Xml;HDR=YES"";"
    
    
    cnn.Open str

  6. سپاس ها (1)


  7. #5


    آخرین بازدید
    2024/02/14
    تاریخ عضویت
    January 2015
    نوشته ها
    71
    امتیاز
    30
    سپاس
    0
    سپاس شده
    20 در 12 پست
    سطح اکسل
    66.00 %

    من اصلا هیچی رو نفهمیدم
    یه لطفی بکن یه فایل کامل با دستور کامل از اول تا اخرش برام بفرستید
    من خیلی حرفه ای نیستم لطفا کمک بفرمایید
    ممنون

  8. #6


    آخرین بازدید
    یک دقیقه پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,470
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    بفرمایید این هم یک نمونه کامل از اتصال به دیتابیس در ADO:
    کد:
    Dim cnn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim strSQL As String
    Dim fpath As String
    Dim str As String
    
    
    Set cnn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    
    
    fpath = ThisWorkbook.Path & Application.PathSeparator & ThisWorkbook.Name
    str = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""" _
                            & fpath & """;Extended Properties=""Excel 12.0 Xml;HDR=YES"";"
    
    
    strSQL = "select * from [Sheet1$]"
    
    
    cnn.Open str
    rs.Open strSQL, cnn

  9. سپاس ها (1)


  10. #7


    آخرین بازدید
    2024/02/14
    تاریخ عضویت
    January 2015
    نوشته ها
    71
    امتیاز
    30
    سپاس
    0
    سپاس شده
    20 در 12 پست
    سطح اکسل
    66.00 %

    پاسخ

    سلام دوست گرامی ، دستور شما رو اجرا کردم ، یکی اینکه هیچ عکس العملی نشون نداد ، ولی خب خطایی هم نداد، دوم و مهمتر از اون اینکه ارتباطی با اکسس توش ندیدم ، اصلا هدف اینه که دستوری بنویسم که بره از فایل اکسس از جدول x یه داده سطر فلان و ستون فلان رو بخونه و تو سلول اکسل قرار بده

  11. #8


    آخرین بازدید
    یک دقیقه پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,470
    امتیاز
    12312
    سپاس
    8,924
    سپاس شده
    10,583 در 3,742 پست
    سطح اکسل
    100.00 %

    نقل قول نوشته اصلی توسط zxcvbn نمایش پست ها
    سلام دوست گرامی ، دستور شما رو اجرا کردم ، یکی اینکه هیچ عکس العملی نشون نداد ، ولی خب خطایی هم نداد، دوم و مهمتر از اون اینکه ارتباطی با اکسس توش ندیدم ، اصلا هدف اینه که دستوری بنویسم که بره از فایل اکسس از جدول x یه داده سطر فلان و ستون فلان رو بخونه و تو سلول اکسل قرار بده

    سلام. ببخشید فراموش کردم ارتباط با اکسسه
    شما در کد بالا بجای خط زیر مسیر فایلتون رو بذارید:
    کد:
    fpath = ThisWorkbook.Path & Application.PathSeparator & ThisWorkbook.Name
    و قطعا این خط هم باید تغییر کنه و متناسب با دیتابیس شما نوشته بشه:
    کد:
    strSQL = "select * from [Sheet1$]"
    من پیشنهاد میکنم برای فهم بهتر این مفاهیم و موضوعات این محصول را تهیه بفرمایید:
    جزوه دوره آموزشی کاربرد ADO در بانک های اطلاعاتی مبتنی بر اکسس و اکسل


  12. سپاس ها (1)


  13. #9


    آخرین بازدید
    2024/02/14
    تاریخ عضویت
    January 2015
    نوشته ها
    71
    امتیاز
    30
    سپاس
    0
    سپاس شده
    20 در 12 پست
    سطح اکسل
    66.00 %

    کلا اسکل کردین منو دیگه


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. [حل شده] روش تقليد كارهاي اكسس در اكسل
    توسط كامران در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 7
    آخرين نوشته: 2016/07/04, 13:17
  2. جستوجو در اكسس
    توسط raid در انجمن فرم ، گزارش،جدول و کوئری در اکسس
    پاسخ ها: 1
    آخرين نوشته: 2016/01/05, 21:29
  3. آموزشی ايجاد جدول در اكسس
    توسط Amir Ghasemiyan در انجمن جدول
    پاسخ ها: 0
    آخرين نوشته: 2015/01/13, 15:05
  4. چند سوال در مورد اكسس
    توسط face_2_faces در انجمن سوالات اكسس - Access Questions
    پاسخ ها: 8
    آخرين نوشته: 2014/06/16, 17:59
  5. فيلتر كردن گزارش در اكسس
    توسط intro در انجمن سوالات اكسس - Access Questions
    پاسخ ها: 0
    آخرين نوشته: 2013/03/18, 19:49

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

اتصال به اکسل با ado.net

نحوه لینک دیتا اکسس با اکسل

ارتباط دیتا اکسس با اکسل

اتصال اکسل به اکسس

ارتباط اکسل به اکسس

ado در اکسس

لینک اکسس به اکسل

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است