نمایش نتایج 1 تا 18 از 18

نام تاپیک: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

  1. #1
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    806

    ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    ضمن سلام و تبریک عید سعید فطر و آرزوی قبولی طاعات و عبادات همه دوستان عزیز
    پیرو سوال و درخواست یکی از دوستان در خصوص ارسال مشروط اطلاعات یک کوئری به اکسل امروز ایده ای برای این منظور به ذهنم رسید که تصمیم گرفتم برای استفاده دوستان آموزش آن را در اینجا قرار بدهم
    ابتدا یک تابع برای ساخت کوئری موقت ایجاد می کنیم:

    Sub CreateQry(sQryName As String, sSQL As String)
    On Error Resume Next
    Dim db As DAO.Database
    Dim qdf As DAO.QueryDef
    Set db = CurrentDb
    With db
    .QueryDefs.Delete (sQryName)
    Set qdf = .CreateQueryDef(sQryName, sSQL) 'Create the query
    End With
    db.QueryDefs.Refresh
    End Sub


    در مرحله بعد کد اسکیوال کلی و بدون شرط آن کوئری ایکه میخواهیم اطلاعات آن را به اکسل ارسال کنیم در یک متغییر با نام LoadSql قرار میدهیم و آن را در رویداد Form_Load فرم درج می نمائیم . در همین رویداد آدرس فایل اکسل مربوطه نیز قرار میدهیم

    Private Sub Form_Load()
    strPath = CurrentProject.path & "\DataExcel.xlsx"
    LoadSql = "SELECT Table2.Code_Perseneli, Table1.First_Name, Table1.Last_Name, Table2.Monthly_Salary, Table2.Working_Holidays, Table2.Overtime_Working" & _
    " FROM Table2 LEFT JOIN Table1 ON Table2.Code_Perseneli = Table1.Code_Perseneli"
    End Sub

    همانطور که از کدهای اسکیوال مشاهده میشود کوئری مربوطه از رابطه دوجدول به نام های Table1 و Table2 تشکیل شده
    در مرحله بعد در رویداد کلیک دکمه cmdFilter که برای فیلتر کردن اطلاعات فرم در نظر گرفته شده کدهای زیر که شامل کد فیلتر نمودن اطلاعات است رو قرار می کنیم:

    Private Sub cmdFilter_Click()
    If Len(Txtcode) = 0 And Len(TxtFirst_Name) = 0 And Len(TxtLast_Name) = 0 Then Exit Sub
    CmdUnFilter.Visible = True
    CmdUnFilter.SetFocus
    cmdFilter.Visible = False
    strFilter = ""
    strFilter = "Table2.Code_Perseneli like '*" & Me.Txtcode & "*' AND Table1.First_Name like '*" & Me.TxtFirst_Name & "*' AND Table1.Last_Name like '*" & Me.TxtLast_Name & "*'"
    Me.Filter = strFilter
    Me.FilterOn = True
    End Sub


    در کدهای زیر نیز در کلیک کلید CmdUnFilterکه برای خارج نمودن اطلاعات از حالت فیلتر تعبیه شده کدهای زیر را وارد کرده ایم :

    Private Sub CmdUnFilter_Click()
    On Error Resume Next
    Me.Filter = ""
    Me.FilterOn = False
    Me.Txtcode = Null
    Me.TxtFirst_Name = Null
    Me.TxtLast_Name = Null
    Me.Requery
    cmdFilter.Visible = True
    cmdFilter.SetFocus
    CmdUnFilter.Visible = False
    End Sub

    بر روی فرم کلید های CmdFilter و CmdUnFilter بر روی هم قرار گرفته اند که با ظاهر شدن یکی دیگری مخفی میشود
    و در نهایت در رویداد کلید CmdExportToExcel که مربوط ارسال اطلاعات به اکسل است کدهای زیر رو وارد می کنیم :

    Private Sub CmdExportToExcel_Click()
    On Error Resume Next
    Dim Sql As String
    Dim StrWhere As String
    StrWhere = " WHERE " & strFilter
    If Len(Txtcode) > 0 Or Len(TxtFirst_Name) > 0 Or Len(TxtLast_Name) > 0 Then
    Sql = LoadSql & StrWhere
    Else
    Sql = LoadSql
    End If
    CreateQry "Q1", Sql
    DoCmd.OutputTo acOutputQuery, "Q1", "Excel Workbook (*.xlsx)", strPath, True, "", 0
    End Sub

    دوستانی که تمایل دارند این کدهای رو در برنامه خودشان پیاده کنن توجه داشته باشند برای استخراج کد کوئری طبق تصویر ضمیمه کوئری مربوطه رو در حالت دیزاین باز کنن و از قسمت SQL Vievکدها را کپی و در متغیر LoadSql قرار بدهند . توجه شود علامت سیمی کالن(; ) از آخر کدها حذف شود.
    عکس های ضمیمه عکس های ضمیمه
    فایل های ضمیمه فایل های ضمیمه

  2. #2
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    806

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    یکی از مزیت های استفاده از کد .......DoCmd.OutputTo acOutputQuery برای ارسال اطلاعات به اکسل این است که اگر فیلدها دارای کپشن فارسی باشند در فایل اکسل کپشن فارسی برای عنوان ستون ها درج میشود.

  3. #3
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    806

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    در پست اول فراموش کردم در مورد ساخت کوئری موقت توضیح مختصری بدهم
    تابع CreateQry در واقع دارای دو پارامتر از نوع رشته میباشد . پارامتر اول برای دریافت نام کوئری ایکه قرار است ایجاد شود میباشد و پارامتر دوم برای کد اسکیوالی است که با توجه به آن کد کوئری مربوطه ساخته میشود .
    در رویداد کلیک CmdExportToExcel ایتدا کدهای اسکیوال در دو حالت با شرط و بدون شرط در متغیر Sql قرار می گیرد و بعد تابع CreateQry بصورت CreateQry "Q1", Sql فراخوانی گردیده . با پاس دادن دو مقدار یا آرگومان Q1 و Sql به تابع فوق در واقع از تابع میخواهم با استفاده از کد اسکیوالی که در متغیر Sql درج شده کوئری را با نام Q1 ایجاد کن
    در نمونه ضمیمه شده در رویداد CmdExportToExcel_Click قبل از ارسال اطلاعات ابتدا با توجه به کدهای اسکیوال (بصورت مشروط و یا غیر مشروط) که در متغییر Sql قرار گرفته یک کوئری موقت با نام Q1 ایجاد میشود و اطلاعات آن به فایل اکسل که آدرس آن وارد شده و در کنار برنامه میباشد فرستاده میشود .
    بمنظور جلوگیری از شلوغی تعداد کوئری ها و در واقع جلوگیری از ابهام و سردرگمی کاربر در مورد کارکرد کوئری Q1 در رویداد Form_Unload این کوئری حذف میشود و فقط زمان ارسال اطلاعات ایجاد میشود .
    منظور از عبارت مشروط یا غیر مشروط که در توضیحات به اون اشاره کرده ام این است که اگر اطلاعات کوئری رو فیلتر کنیم کدهای اسکیوال با عبارت WHERE و یا اگر همراه است که در اینجا اطلاعات با شرط یا شروطی که تعیین کرده ایم به اکسل ارسال میشود در غیر اینصورت اگر شرط خاصی در نظر نگرفته باشیم کل اطلاعات یکجا به فایل اکسل ارسال میشود .

  4. #4

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    سلام
    درود بر شما استاد !
    خیلی هم ممنون از آموزش مفیدتون
    نمونه ای که ضمیمه کرده این خیلی بکار من اومد . من تا حالا موردی ندیده بودم که اطلاعات جدول یا کوئری رو در حالت فیلتر کردن اطلاعات به اکسل ارسال کند

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آذر 1387
    محل زندگی
    خراسان
    پست
    435

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    درود خدمت استاد بهرامی بابت آموزش جامع و کامل
    انشاالله همیشه پیروز باشید.

  6. #6
    کاربر دائمی آواتار abdoreza57
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    دنياي آمال و آرزوها
    پست
    499

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    نقل قول نوشته شده توسط eb_1345 مشاهده تاپیک
    ضمن سلام و تبریک عید سعید فطر و آرزوی قبولی طاعات و عبادات همه دوستان عزیز
    پیرو سوال و درخواست یکی از دوستان در خصوص ارسال مشروط اطلاعات یک کوئری به اکسل امروز ایده ای برای این منظور به ذهنم رسید که تصمیم گرفتم برای استفاده دوستان آموزش آن را در اینجا قرار بدهم
    ابتدا یک تابع برای ساخت کوئری موقت ایجاد می کنیم:

    Sub CreateQry(sQryName As String, sSQL As String)
    On Error Resume Next
    Dim db As DAO.Database
    Dim qdf As DAO.QueryDef
    Set db = CurrentDb
    With db
    .QueryDefs.Delete (sQryName)
    Set qdf = .CreateQueryDef(sQryName, sSQL) 'Create the query
    End With
    db.QueryDefs.Refresh
    End Sub


    در مرحله بعد کد اسکیوال کلی و بدون شرط آن کوئری ایکه میخواهیم اطلاعات آن را به اکسل ارسال کنیم در یک متغییر با نام LoadSql قرار میدهیم و آن را در رویداد Form_Load فرم درج می نمائیم . در همین رویداد آدرس فایل اکسل مربوطه نیز قرار میدهیم

    Private Sub Form_Load()
    strPath = CurrentProject.path & "\DataExcel.xlsx"
    LoadSql = "SELECT Table2.Code_Perseneli, Table1.First_Name, Table1.Last_Name, Table2.Monthly_Salary, Table2.Working_Holidays, Table2.Overtime_Working" & _
    " FROM Table2 LEFT JOIN Table1 ON Table2.Code_Perseneli = Table1.Code_Perseneli"
    End Sub

    همانطور که از کدهای اسکیوال مشاهده میشود کوئری مربوطه از رابطه دوجدول به نام های Table1 و Table2 تشکیل شده
    در مرحله بعد در رویداد کلیک دکمه cmdFilter که برای فیلتر کردن اطلاعات فرم در نظر گرفته شده کدهای زیر که شامل کد فیلتر نمودن اطلاعات است رو قرار می کنیم:

    Private Sub cmdFilter_Click()
    If Len(Txtcode) = 0 And Len(TxtFirst_Name) = 0 And Len(TxtLast_Name) = 0 Then Exit Sub
    CmdUnFilter.Visible = True
    CmdUnFilter.SetFocus
    cmdFilter.Visible = False
    strFilter = ""
    strFilter = "Table2.Code_Perseneli like '*" & Me.Txtcode & "*' AND Table1.First_Name like '*" & Me.TxtFirst_Name & "*' AND Table1.Last_Name like '*" & Me.TxtLast_Name & "*'"
    Me.Filter = strFilter
    Me.FilterOn = True
    End Sub


    در کدهای زیر نیز در کلیک کلید CmdUnFilterکه برای خارج نمودن اطلاعات از حالت فیلتر تعبیه شده کدهای زیر را وارد کرده ایم :

    Private Sub CmdUnFilter_Click()
    On Error Resume Next
    Me.Filter = ""
    Me.FilterOn = False
    Me.Txtcode = Null
    Me.TxtFirst_Name = Null
    Me.TxtLast_Name = Null
    Me.Requery
    cmdFilter.Visible = True
    cmdFilter.SetFocus
    CmdUnFilter.Visible = False
    End Sub

    بر روی فرم کلید های CmdFilter و CmdUnFilter بر روی هم قرار گرفته اند که با ظاهر شدن یکی دیگری مخفی میشود
    و در نهایت در رویداد کلید CmdExportToExcel که مربوط ارسال اطلاعات به اکسل است کدهای زیر رو وارد می کنیم :

    Private Sub CmdExportToExcel_Click()
    On Error Resume Next
    Dim Sql As String
    Dim StrWhere As String
    StrWhere = " WHERE " & strFilter
    If Len(Txtcode) > 0 Or Len(TxtFirst_Name) > 0 Or Len(TxtLast_Name) > 0 Then
    Sql = LoadSql & StrWhere
    Else
    Sql = LoadSql
    End If
    CreateQry "Q1", Sql
    DoCmd.OutputTo acOutputQuery, "Q1", "Excel Workbook (*.xlsx)", strPath, True, "", 0
    End Sub

    دوستانی که تمایل دارند این کدهای رو در برنامه خودشان پیاده کنن توجه داشته باشند برای استخراج کد کوئری طبق تصویر ضمیمه کوئری مربوطه رو در حالت دیزاین باز کنن و از قسمت SQL Vievکدها را کپی و در متغیر LoadSql قرار بدهند . توجه شود علامت سیمی کالن(; ) از آخر کدها حذف شود.
    سلام و وقت به خیر استاد بهرامی عزیز
    منم ممنونم ازتون بابت این نمونه عالی و آموزش خوبتون فقط چند تکته وجود داره و یه سوال که میخواستم از خدمتتون بپرسم
    نکته اول اینکه لینک آدرسی که تو این تاپیک قرار دادید درست نبود لطف کنید اصلاح کنید تا علاقمندان مستقیم به این گفتگو هدایت بشن
    نکته دوم دکمه فیلتر و آن فیلتر در هر دو حالت یه نتیجه داره برای برداشتن فیلتر کدش را اصلاخ بفرمایید
    نکته سوم بولد و رنگی شدن عنوان ستونهای اکسل را چطور بوجود آوردید خیلی جالب بود؟

    و یه سوال چون خودم میخواستم از این روش استفاده کنم ساده ترین کدی که نتیجه کار شما را با ایجاد فایل اکسل کنار برنامه ایجاد کنه چی هست ؟ اینم لازمه کویری موقت ایجاد بشه یا نام کویری مورد نظر کافی هست ؟ در واقع من میخوام مثلا Query1 به فایل اکسل تبدیل بشه.
    تو مرحله بعد میخوام شرط محدوده را برا Query1 تعریف کنم مثلا تو نمونه شما ردیف چند تا چند یا نمونه خودم محدوده دو تا تاریخ مطمینم اگه بشه این شرط را تو کویری بیارم و بعدش با این نمونه شکیل اکسل خروجی بده یه نمونه عالی از کار در میاد
    نمونه هایی که تو تالار بود من تست کردم فایل اکسل کنار برنامه ساخته نمیشه و همچنین ارور میداد وقتی فایل بازه
    خیلی ازتون ممنون میشم بازم مثل همیشه راهنمایی کنید

  7. #7

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    نقل قول نوشته شده توسط abdoreza57 مشاهده تاپیک
    نکته دوم دکمه فیلتر و آن فیلتر در هر دو حالت یه نتیجه داره برای برداشتن فیلتر کدش را اصلاخ بفرمایید
    سلام
    با اجازه جناب آقای بهرامی این مورد رو بنده پاسخ بدهم
    بنده چون خودم این نمونه رو امتحان کردم دو دکمه CmdFilter و CmdUnFilter بدون هیچ مشکی درست کار می کنن . شما وقتی مثلا در تکست باکس جستجوی کد پرسنلی عدد 6 رو وارد می کنی و بر روی دکمه فیلتر کلیک کنی فرم کانتینیو فیلتر میشه و در همین حالت که دکمه CmdUnFilter ظاهر شده
    کلیک کنی فرم از حالت فیلتر خارج شده و کلیه رکورد به نمایش در می آین.
    حتی اگه در تکست باکس های جستجو هم حرف یا کلمه ای رو وارد نکنی باز هم عمل فیلتر و خروج از فیلتر رو انجام میده و این حالت هم همینطور باید باشه چون شما وقتی بدون وارد کردن حرف یا کلمه ای بر روی دکمه فیلتر کلیک می کنی یعنی اینکه شما همه رکورد ها رو فیلتر کرده ای .
    با کلیک کردن بر روی دکمه های CmdFilter و CmdUnFilter به حالت روشن و خاموش شدن علامت فیلتر در سمت پائین فرم (NavigationButtons) توجه بفرما !

  8. #8
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    806

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    نقل قول نوشته شده توسط abdoreza57 مشاهده تاپیک

    و یه سوال چون خودم میخواستم از این روش استفاده کنم ساده ترین کدی که نتیجه کار شما را با ایجاد فایل اکسل کنار برنامه ایجاد کنه چی هست ؟ اینم لازمه کویری موقت ایجاد بشه یا نام کویری مورد نظر کافی هست ؟ در واقع من میخوام مثلا Query1 به فایل اکسل تبدیل بشه.
    تو مرحله بعد میخوام شرط محدوده را برا Query1 تعریف کنم مثلا تو نمونه شما ردیف چند تا چند یا نمونه خودم محدوده دو تا تاریخ مطمینم اگه بشه این شرط را تو کویری بیارم و بعدش با این نمونه شکیل اکسل خروجی بده یه نمونه عالی از کار در میاد
    نمونه هایی که تو تالار بود من تست کردم فایل اکسل کنار برنامه ساخته نمیشه و همچنین ارور میداد وقتی فایل بازه
    سلام
    ساده ترین راه اینست که شرط یا شروط فیلتر رو مستقیما در حالت دیزاین در کوئری برای فیلدهای مربوطه وارد کنی و محدوده قابل فیلتر رو در یک فرم مشخص نمائید
    در نمونه ضمیمه دیگه خبری از ایجاد کوئری موقت نیست . و فقط با یک خط کد زیر اطلاعات کوئری به فایل اکسلی که آدرس آن در کد درج شده ارسال میشود

    DoCmd.OutputTo acOutputQuery, "Query1", "Excel Workbook (*.xlsx)", CurrentProject.Path & "\DataExcel.xlsx", True, "", 0

    به نظرم همین حالت راحتتر و بدون دردسرتره
    از همین نمونه الگو برداری کن !
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله eb_1345 : شنبه 25 فروردین 1403 در 05:35 صبح

  9. #9
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    806

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    نقل قول نوشته شده توسط abdoreza57 مشاهده تاپیک
    تو مرحله بعد میخوام شرط محدوده را برا Query1 تعریف کنم مثلا تو نمونه خودم محدوده دو تا تاریخ مطمینم اگه بشه این شرط را تو کویری بیارم و بعدش با این نمونه شکیل اکسل خروجی بده یه نمونه عالی از کار در میاد
    یک نمونه با تعیین محدود تاریخ تقدیم شما
    فایل های ضمیمه فایل های ضمیمه

  10. #10
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,057

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    تشکر ویژه از جناب بهرامی عزیز بابت زحمت و وقتی که برای ساخت این آموزش سودمند متقبل شدین،
    و توضیح مفصل و دقیق کدها و روش استفاده.

    همچنین سعه صدر و حوصله در پاسخگویی.

  11. #11

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    تشکر ویژه از جناب بهرامی عزیز بابت زحمت و وقتی که برای ساخت این آموزش سودمند متقبل شدین،
    و توضیح مفصل و دقیق کدها و روش استفاده.

    همچنین سعه صدر و حوصله در پاسخگویی.
    سلام و درود فراوان
    خداوند به شما دو استاد بزرگوار ( استا
    د mazoolagh و استاد eb_1345 ) جزای خیر و سلامتی عطا فرماید که تالار اکسس رو با حضور موثر و مستمرتون فعال و پا بر جا نگه داشته این . فعال نگه داشتن تالار اکسس توسط شما عزیزان در حالیست که بیشتر تالارهای دیگر سایت برنامه نویس مدت هاست حالت تعطیلی بلند مدت به خودشون گرفته اند و آنچنان فعالیتی در آنها صورت نمی گیره . بعنوان نمونه اگر سری به تالار VB6 بزنید مشاهده می کنین که تا چه اندازه فعالیت اعضاء در این تالار کم رمق گردیده است و اگر سوالی در این تالار پرسیده شود شاید مدت ها زمان سپری شود که پاسخی برای آن سوال ارائه شود .

  12. #12
    کاربر دائمی آواتار abdoreza57
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    دنياي آمال و آرزوها
    پست
    499

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    درسته دوست خوبم
    بعضی وقتا کارا دلی هست یه وقت کاری برا کسی انجامش میدی اصلا موضوع مادی اون مد نظرت نیست فقط اون حس خوبی که بهت دست میده را با هیچ ملاک و معیار مادی عوضش نمیکنی .
    اگه یه جستجوی ساده تو همین تالار خودمون بزنید وزنه دانش و آگاهی سنگین این دو عزیز و قبلها آقای پیروزمهر را در کمتر کسی میتونید پیدا کنید .
    اینجاست که آدم نه بابت سواد و دانش بالاشون بلکه به خاطر نوع دیدگاه و نگرش شون بهشون غبطه میخوره
    منم به نوبه خودم از این عزیزان تشکر میکنم و براشون از خدا بهترین ها را آرزو میکنم
    یه وقتی اینجا دکمه تشکر فعال بود نمیدونم چی شد از سایت برداشتن اصلا دلم نیومد این همه خوبی را از کنارش رد شم و فقط جوابم را گرفته و برم

  13. #13
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    806

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    از ابراز لطف و محبت دوستان عزیز و بزرگوار بسیار ممنون و سپاسگزارم

  14. #14
    کاربر دائمی آواتار abdoreza57
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    دنياي آمال و آرزوها
    پست
    499

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    نقل قول نوشته شده توسط eb_1345 مشاهده تاپیک
    یک نمونه با تعیین محدود تاریخ تقدیم شما
    بسیار ممنونم ازتون
    و سوال آخر اینکه چون من از توابع آقای آرادی برای تاریخ شمسی استفاده میکردم
    اگه بخوام پسوند نام فایل اکسل تازیخ روز باشه بفرمایید چطور اینو بهش اضافه کنم
    هر چند تو ورزن جدید آفیس تاریخ شمسی بهش اضافه شده ولی اگه 2007 باشه مشکل ساز خواهد بود
    واسه همین ترجیخ میدم این ماژول تو برنامه باشه
    خدا نگهدار

  15. #15
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    806

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    نقل قول نوشته شده توسط abdoreza57 مشاهده تاپیک
    بسیار ممنونم ازتون
    و سوال آخر اینکه چون من از توابع آقای آرادی برای تاریخ شمسی استفاده میکردم
    اگه بخوام پسوند نام فایل اکسل تازیخ روز باشه بفرمایید چطور اینو بهش اضافه کنم
    هر چند تو ورزن جدید آفیس تاریخ شمسی بهش اضافه شده ولی اگه 2007 باشه مشکل ساز خواهد بود
    واسه همین ترجیخ میدم این ماژول تو برنامه باشه
    خدا نگهدار
    سلام
    از آنجائیکه از کلمه Shamsi در تاریخ شمسی ورژن های جدید اکسس و تابع تاریخ جناب آزادی استفاده شده ممکن است در هنگام فراخوانی تابع تاریخ شمسی جناب آزادی در ورژن های جدید اکسس خطای تکراری بودن تابع Shamsi صادر شود . بنابراین بهتر است در تابع تاریخ جناب آزادی کلمه ای دیگر جایگزین کلمه Shamsi شود مثلاً AzadiShamsi جایگزین Shamsi شود .
    ضمناً در پوشه برنامتون پوشه ای با عنوان ExcelFiles جهت فایل های ایجاد شده اکسل ایجاد کن!
    پس از انجام دو کار فوق حالا از کدهای زیر برای ارسال اطلاعات به اکسل استفاده کن !

    Dim strpath As String
    Dim strFileName As String
    strpath = Access.CurrentProject.path & "\ExcelFiles\"
    If Len(Dir$(strpath, vbDirectory)) = 0 Then
    MsgBox "پوشه فایل اکسل در مسیر برنامه موجود نمی باشد.", vbOKOnly + vbExclamation, "خطا"
    Exit Sub
    End If
    strFileName = Azadishamsi & ".xlsx"
    DoCmd.OutputTo acOutputQuery, "Query1", "Excel Workbook (*.xlsx)", strpath & strFileName, True

  16. #16

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    نقل قول نوشته شده توسط eb_1345 مشاهده تاپیک
    سلام
    از آنجائیکه از کلمه Shamsi در تاریخ شمسی ورژن های جدید اکسس و تابع تاریخ جناب آزادی استفاده شده ممکن است در هنگام فراخوانی تابع تاریخ شمسی جناب آزادی در ورژن های جدید اکسس خطای تکراری بودن تابع Shamsi صادر شود . بنابراین بهتر است در تابع تاریخ جناب آزادی کلمه ای دیگر جایگزین کلمه Shamsi شود مثلاً AzadiShamsi جایگزین Shamsi شود .
    ضمناً در پوشه برنامتون پوشه ای با عنوان ExcelFiles جهت فایل های ایجاد شده اکسل ایجاد کن!
    پس از انجام دو کار فوق حالا از کدهای زیر برای ارسال اطلاعات به اکسل استفاده کن !

    Dim strpath As String
    Dim strFileName As String
    strpath = Access.CurrentProject.path & "\ExcelFiles\"
    If Len(Dir$(strpath, vbDirectory)) = 0 Then
    MsgBox "پوشه فایل اکسل در مسیر برنامه موجود نمی باشد.", vbOKOnly + vbExclamation, "خطا"
    Exit Sub
    End If
    strFileName = Azadishamsi & ".xlsx"
    DoCmd.OutputTo acOutputQuery, "Query1", "Excel Workbook (*.xlsx)", strpath & strFileName, True
    استاد بهرامی عزیز خدا خیرتون بده
    خیلی ممنون و سپاسگزارم
    موفق باشید .

  17. #17
    کاربر دائمی آواتار abdoreza57
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    دنياي آمال و آرزوها
    پست
    499

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    بسیار ممنونم ازتون بعید بسیار عالی و مفید بود امیدوارم دوستان از این نمونه بتونن ایده بگیرن که واقعا بهترین نوع گزارش تو اکسل هست

  18. #18
    کاربر دائمی آواتار abdoreza57
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    دنياي آمال و آرزوها
    پست
    499

    نقل قول: ارسال اطلاعات کلی یا فیلتر شده جداول یا کوئری به اکسل از طریق ساخت کوئری موقت

    بسیار ممنونم ازتون بعید بسیار عالی و مفید بود امیدوارم دوستان از این نمونه بتونن ایده بگیرن که واقعا بهترین نوع گزارش تو اکسل هست

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •