صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 41

نام تاپیک: مشکل در استخراج رکوردهای خاص

  1. #1

    مشکل در استخراج رکوردهای خاص

    سلام من یه فایل اکسل دارم که میخوام وارد اکسس کنمش و از توی اون یه سری اطلاعات رو فیلتر و استخراج کنم ولی مشکل اصلی اینه
    اطلاعاتی که من میخوام روبروی هم نیستند و نمیشه سلکت زد
    نمونه شو گذاشتم یه لطفی میکنین نگاه کنین
    عکس های ضمیمه عکس های ضمیمه
    آخرین ویرایش به وسیله anoor_h : شنبه 09 اسفند 1399 در 23:46 عصر

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

    نقل قول: مشکل در استخراج رکوردهای خاص

    بارها مطرح و پاسخ داده شده

    https://barnamenevis.org/showthread.php?560186

  3. #3

    نقل قول: مشکل در استخراج رکوردهای خاص

    ممنون دوست عزیز اینجا که شما فرمودین جواب منو نداد من شاید بد پرسیدم یعنی اینکه مشکلی با ایمپورت کردن ندارم اتفاقا اینی که من دارم خیلی بهتر هست ولی نکته اینجاست من میخوام مثلا شماره 03167676767676398541 که جستجو می کنم یا با جدول دیگه جوین میزنم جواب رو صادره : 1399/11/11:استان خراسان رضوي، نقطه مبادله ناحیه یک به من نشون بده نمونه مو گذاشتم

    https://s17.picofile.com/file/842664..._exel.rar.html

  4. #4
    کاربر دائمی آواتار padide55
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    زاهدان
    پست
    567

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط anoor_h مشاهده تاپیک
    ممنون دوست عزیز اینجا که شما فرمودین جواب منو نداد من شاید بد پرسیدم یعنی اینکه مشکلی با ایمپورت کردن ندارم اتفاقا اینی که من دارم خیلی بهتر هست ولی نکته اینجاست من میخوام مثلا شماره 03167676767676398541 که جستجو می کنم یا با جدول دیگه جوین میزنم جواب رو صادره : 1399/11/11:استان خراسان رضوي، نقطه مبادله ناحیه یک به من نشون بده نمونه مو گذاشتم

    https://s17.picofile.com/file/842664..._exel.rar.html
    سلام
    اول
    فایل اکسل رو با شماره ردیف ایمپورت کنید که نظم فیلدها مشخص باشه . تا بعد ببینیم چکار میشه کرد .
    نمونه فایل اکسل رو ضمیمه بفرمایید .

  5. #5

    نقل قول: مشکل در استخراج رکوردهای خاص

    ممنونم فایل رو فرستادم
    فایل های ضمیمه فایل های ضمیمه

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

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط anoor_h مشاهده تاپیک
    ممنون دوست عزیز اینجا که شما فرمودین جواب منو نداد من شاید بد پرسیدم یعنی اینکه مشکلی با ایمپورت کردن ندارم اتفاقا اینی که من دارم خیلی بهتر هست ولی نکته اینجاست من میخوام مثلا شماره 03167676767676398541 که جستجو می کنم یا با جدول دیگه جوین میزنم جواب رو صادره : 1399/11/11:استان خراسان رضوي، نقطه مبادله ناحیه یک به من نشون بده نمونه مو گذاشتم

    https://s17.picofile.com/file/842664..._exel.rar.html
    پاسخ دقیقا همین بود ولی شما نکته اش رو نگرفتین، نمونه ای که در اون تاپیک بود از کار شما بمراتب پیچیده تر هست.
    اینکه میگین با ایمپورت مشکلی ندارین ظاهرا فقط خود عمل ایمپورت رو منظورتون هست و نه نتیجه اش.

    به هر حال این شیت که تصویرش در پست 1 گذاشتین ایمپورت میشه ولی نه به شکل درست و اونچه که ایپورت میشه بصورت مستقیم قابل استاده نیست و باید پردازش بشه.
    شما در هر صورت برای رفع مشکل طراحی نادرست اولیه مجبور به کدنویسی هستین، حالا یا باید مثل تاپیکی که صحبتش رفت عمل کنین و یا اینکه بعد از ایمپورت این کار رو انجام بدین.

    اگر اصرار بر پردازش بعد ایمپورت دارین، اول یک جدول دیگه با طراحی درست بسازین (همه فیلدهای مورد نیاز)
    1- جدول ایمپورت شده رو با رکوردست باز کنین.
    2- رکوردها رو یکی یکی بخونید (از ظاهر تصویر هر 9 رکورد معادل یک رکورد هست)
    3- شرح رو پردازش کنین و با توجه به متن ببینید مربوط به کدوم فیلد هست و مقدارش رو در جدول بنویسین.
    4- در فیلدهای ردیف و مرسوله موارد خالی رو رد کنین و هر موقع به مقدار رسیدین، اون رو در جدول اصلی بنویسین.

  7. #7

    نقل قول: مشکل در استخراج رکوردهای خاص

    ممنون از توجهتون ولی این خیلی پیچیده شد نمونه ای چیزی ندارین برام بزارین یا اصل اکسل رو گزاشتم میتونین اصلاح کنین

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

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط anoor_h مشاهده تاپیک
    ممنون از توجهتون ولی این خیلی پیچیده شد نمونه ای چیزی ندارین برام بزارین یا اصل اکسل رو گزاشتم میتونین اصلاح کنین
    اگر کدنویسی بلد هستین همون روش اول راحتتر هست چون مستقیما با شماره سلول دیتا رو میخونین و این سمت در جدول میریزین و نیازی به رکوردست بازکردن (برای خوندن) و پیمایش اون نیست.
    نمونه برای خوندن مستقیم از اکسل در همین انجمن خیلی هست.

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

    نقل قول: مشکل در استخراج رکوردهای خاص

    سلام
    سوال اینه که شما اون فایل خروجی اکسل که دارید رو از نرم افزار خاصی میگیرید ؟
    همونجا خروجی به روش دیگه داره یا نه ؟

    سوال دوم اینکه
    به نظر میاد یک نظمی در تعداد ردیفها داره؟
    اگر اینجوریه میشه کد داد که رکوردست
    هر مثلا ده ردیف یکبار یک کار خاص رو انجام بده .

  10. #10

    نقل قول: مشکل در استخراج رکوردهای خاص

    بله اون نرم افزار خروجی به xml و چیزایه دیگه رو هم داره

    همین که چجوری با کد بتونیم ده ردیف ده ردیف بخونیم رو من ندیدم تا حالا

  11. #11

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    اگر کدنویسی بلد هستین همون روش اول راحتتر هست چون مستقیما با شماره سلول دیتا رو میخونین و این سمت در جدول میریزین و نیازی به رکوردست بازکردن (برای خوندن) و پیمایش اون نیست.
    نمونه برای خوندن مستقیم از اکسل در همین انجمن خیلی هست.
    ممنون اگه کدهای اون تایپک همه سرجمع بود مفهوم تر بود من ازشون سر درنمیارم اونجاییم که نقطه گذاشتین که کلا گیج میشم

  12. #12

    نقل قول: مشکل در استخراج رکوردهای خاص

    من کد دریافت رو میزارم لطف کنید این کد اون تایپک رو شما تو دلش اصلاح کنید

    Dim dlg As FileDialog
    Set dlg = Application.FileDialog(msoFileDialogFilePicker)
    On Error GoTo exitsub:
    DoCmd.RunSQL "DELETE * FROM sheet1", 1


    With dlg
    .Title = "انتخاب فايل گرفته شده از مبادله"
    .AllowMultiSelect = False
    .Filters.Clear
    .Filters.Add "Excel Files", "*.xls", 1
    .Filters.Add "Excel Files", "*.xlsx", 1
    .Filters.Add "All Files", "*.*", 2
    .InitialFileName = CurrentProject.Path
    If .Show = -1 Then
    StrFileName = .SelectedItems(1)
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "sheet1", StrFileName, True
    Else
    Exit Sub
    End If
    End With
    Me.Query2subform.Requery
    Exit Sub
    exitsub:
    MsgBox (Err.Description)


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

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط anoor_h مشاهده تاپیک
    ممنون اگه کدهای اون تایپک همه سرجمع بود مفهوم تر بود من ازشون سر درنمیارم اونجاییم که نقطه گذاشتین که کلا گیج میشم
    ببینید این پرسش شما نکته جدیدی نداره و مهارت خاصی هم نمیخواد، فقط کار وقت گیری هست که از حوصله من خارجه.
    با استفاده از همین نمونه کد و راهنمایی ها که کردم هر کسی میتونه براتون بنویسه - صبر کنین براتون انجام میدن.

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

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط anoor_h مشاهده تاپیک
    من کد دریافت رو میزارم لطف کنید این کد اون تایپک رو شما تو دلش اصلاح کنید

    Dim dlg As FileDialog
    Set dlg = Application.FileDialog(msoFileDialogFilePicker)
    On Error GoTo exitsub:
    DoCmd.RunSQL "DELETE * FROM sheet1", 1


    With dlg
    .Title = "انتخاب فايل گرفته شده از مبادله"
    .AllowMultiSelect = False
    .Filters.Clear
    .Filters.Add "Excel Files", "*.xls", 1
    .Filters.Add "Excel Files", "*.xlsx", 1
    .Filters.Add "All Files", "*.*", 2
    .InitialFileName = CurrentProject.Path
    If .Show = -1 Then
    StrFileName = .SelectedItems(1)
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "sheet1", StrFileName, True
    Else
    Exit Sub
    End If
    End With
    Me.Query2subform.Requery
    Exit Sub
    exitsub:
    MsgBox (Err.Description)

    در ضمن این کدی که گذاشتین هیچ کار خاصی انجام نمیده، صرفا شیت رو ایمپورت میکنه.

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

    نقل قول: مشکل در استخراج رکوردهای خاص

    نمونه فایل رو در مسیر درایو c کپی کنید(با پوشه)

    با رکوردست
    کد شماره ردیف رو تونستم به بقیه ردیفها اضاف کنم
    ولی برای
    شماره مرسوله
    کد خاص می خواد ( چون چند ردیف پایین تر قرار داره ) ولی نشد نداره
    فایل های ضمیمه فایل های ضمیمه

  16. #16

    نقل قول: مشکل در استخراج رکوردهای خاص

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

  17. #17
    کاربر دائمی آواتار padide55
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    زاهدان
    پست
    567

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط anoor_h مشاهده تاپیک
    اگه بشه شماره مرسوله رو توی دو تا فیلد خالی بعد کپی کنیم خیلی خوب میشه
    الان باید دید هدفتون چیه
    که بر اساس اون انجام بشه .
    چون فکر کنم این روش مشکل رو‌حل کرده باشه .
    دقیقا میخواید چکار کنید .این مهمه .

  18. #18

    نقل قول: مشکل در استخراج رکوردهای خاص

    این فایلی که شما گذاشتین فقط شماره ردیف اضافه کرده اونم رکوردهای اول قاطی شده من یه هدف بیشتر ندارم شماره مرسوله رو بزنم مقصد رو برام بیاره همونی که هایلایت کردم

  19. #19
    کاربر دائمی آواتار padide55
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    زاهدان
    پست
    567

    نقل قول: مشکل در استخراج رکوردهای خاص

    سلام

    کلا روش همینه ولی باید کد نویسی بیشتری انجام بشه .

    گفتید
    بله اون نرم افزار خروجی به xml و چیزایه دیگه رو هم داره
    لطفا فایل از نمونه های خروجی که گفتید ( همه نمونه ها ) dbf xml xlsDataOnly بگذارید ببینیم کدام مدل برای ایمپورت به اکسس مناسب تر هست .

  20. #20
    کاربر دائمی آواتار padide55
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    زاهدان
    پست
    567

    نقل قول: مشکل در استخراج رکوردهای خاص

    سلام مجدد
    روش ابداعی مشکل حل شد ولی کلا باید خروجی های دیگه رو هم چک کنیم ببینیم کدام بهتره
    فایل های ضمیمه فایل های ضمیمه

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

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط padide55 مشاهده تاپیک
    سلام مجدد
    روش ابداعی مشکل حل شد ولی کلا باید خروجی های دیگه رو هم چک کنیم ببینیم کدام بهتره
    برای یک کار بسیار ساده، که راهنمایی کافی و دقیق هم کرده بودم، راه سخت و کدنویسی بیهوده کردین.
    این دوست ما که پرسش رو مطرح کرده گویا هیچ آشنایی با کدنویسی نداره، بنابراین یا فقط به راهنمایی بسنده کنین و یا اگر برنامه ای برای ایشون مینویسین کامل و دقیق و ساده باشه تا بتونه راحت استفاده کنه و گیج نشه.

    راه درست همون بود که مستقیم از اکسل بخونین. حتی خوندن دیتا ایمپورت شده با رکوردست و ریختن در یک جدول دیگه ، که روشش رو هم نوشته بودم، نیم ساعت هم زمان نوشتن برنامه اش زمان نمیبره.
    اینجا از اکسل فقط محیطی برای رسم جدول استفاده شده و همون هم البته بسیار نادرست و ناشیانه انجام شده، اگر از word استفاده میکردن بهتر بود!

    من اعتقادی به این که برای این پرسش خاص نمونه بگذارم نداشتم ولی برای رفع ابهام و نشون دادن راه درست این کار رو میکنم.

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

    نقل قول: مشکل در استخراج رکوردهای خاص

    اول جدول رو طراحی میکنیم؛
    فیلدهای f1-f9 در اصل باید اسامی معنادار داشته باشن که بعهده استارتر تاپیک میگذارم.
    1.PNG

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

    نقل قول: مشکل در استخراج رکوردهای خاص

    روش کار در تاپیکی که در پست 2 آمده قبلا بطور کامل معرفی شده، بنابراین توضیح تکراری نمیدم

    Dim FileName As StringFileName = "example.xlsx"
    Dim ExApp As New Excel.Application
    Dim ExWB As Excel.Workbook
    Dim ExWS As Excel.Worksheet
    Set ExWB = GetObject(CurrentProject.Path & "" & FileName)
    Set ExWS = ExWB.Worksheets(1)
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("table1")
    Dim i As Integer

    i = 1

    Do While ExWS.Cells(i, 1) <> ""
    Do Until Left(ExWS.Cells(i, 1), 7) = "مبداء :"
    i = i + 1
    Loop
    rs.AddNew
    rs!radif = ExWS.Cells(i, 3)
    rs!marsooleh = ExWS.Cells(i + 6, 2)
    rs!f1 = ExWS.Cells(i, 1)
    rs!f2 = ExWS.Cells(i + 1, 1)
    rs!f3 = ExWS.Cells(i + 2, 1)
    rs!f4 = ExWS.Cells(i + 4, 1)
    rs!f5 = ExWS.Cells(i + 5, 1)
    rs!f6 = ExWS.Cells(i + 6, 1)
    rs!f7 = ExWS.Cells(i + 7, 1)
    rs!f8 = ExWS.Cells(i + 8, 1)
    rs!f9 = ExWS.Cells(i + 9, 1)
    rs.Update
    i = i + 10
    Loop

    rs.Close
    Set rs = Nothing
    Set ExWS = Nothing
    Set ExApp = Nothing



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

    نقل قول: مشکل در استخراج رکوردهای خاص

    نتیجه کار:
    2.PNG

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

    نقل قول: مشکل در استخراج رکوردهای خاص

    برنامه نمونه:
    فایل های ضمیمه فایل های ضمیمه

  26. #26

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    برنامه نمونه:
    داداش ایول داری خداییش شما در حد لالیگائی ما دسته سه
    من عمرا نمیتونستم اینجوری کد بنویسم چرا میتونم کدها رو تغییر بدم ولی اینجوری .... بازم ممنونم دمتون گرم

  27. #27

    نقل قول: مشکل در استخراج رکوردهای خاص

    آخرین ویرایش به وسیله anoor_h : دوشنبه 18 اسفند 1399 در 21:54 عصر

  28. #28

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط padide55 مشاهده تاپیک
    سلام مجدد
    روش ابداعی مشکل حل شد ولی کلا باید خروجی های دیگه رو هم چک کنیم ببینیم کدام بهتره
    ممنونم از شمام که وقت میزاری داشتم روی xml هم کار میکردم اونم همونطوری جدولش شلوغ شد ولی مطمئنم اونو بزارم شما میتونی ازش چیزی درآری
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله anoor_h : دوشنبه 18 اسفند 1399 در 22:06 عصر

  29. #29

    نقل قول: مشکل در استخراج رکوردهای خاص

    سلام نمیدونم چرا با فایل اصلی این خطا رو میده چیه بنظرتون

    تو این خط rs!marsooleh = ExWS.Cells(i + 6, 2)

    ضمنا خط بالا رو هم یه توضیح بدین i رو که میدونم ردیف اکسل هست درسته؟
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: png f.PNG‏ (31.3 کیلوبایت, 69 دیدار)
    آخرین ویرایش به وسیله anoor_h : سه شنبه 19 اسفند 1399 در 00:16 صبح

  30. #30
    کاربر دائمی آواتار padide55
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    زاهدان
    پست
    567

    نقل قول: مشکل در استخراج رکوردهای خاص

    سلام
    xml هم همون روش اکسل بود .

    با این روش مشکلتون حل میشه احتمالا

    نمونه جدید

    توضیح
    اول کل دیتا رو از اکسل به تیبل aaa منتقل میکنیم با این شرط که ردیف ها رو با رکوردست در جلو موارد کپی میکنیم

    در مرحله بعد با ایجاد کوئری کدهای مرسوله رو با کد ردیف در یک کوئری میاریم که بشه با dlookup کد مورد نظر رو فراخوان کرد

    در نهایت
    ابتدا ردیف رو با رکوردست برمیداریم . بعد با Dlookup کد مرسوله رو ذخیره موقت میکنیم و سپس کد مرسوله رو به جدول هر ردیف مثل مرحله اول کپی میکنیم و جدول end رو میسازیم
    فایل های ضمیمه فایل های ضمیمه

  31. #31
    کاربر دائمی آواتار padide55
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    زاهدان
    پست
    567

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    روش کار در تاپیکی که در پست 2 آمده قبلا بطور کامل معرفی شده، بنابراین توضیح تکراری نمیدم

    Dim FileName As StringFileName = "example.xlsx"
    Dim ExApp As New Excel.Application
    Dim ExWB As Excel.Workbook
    Dim ExWS As Excel.Worksheet
    Set ExWB = GetObject(CurrentProject.Path & "" & FileName)
    Set ExWS = ExWB.Worksheets(1)
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("table1")
    Dim i As Integer

    i = 1

    Do While ExWS.Cells(i, 1) <> ""
    Do Until Left(ExWS.Cells(i, 1), 7) = "مبداء :"
    i = i + 1
    Loop
    rs.AddNew
    rs!radif = ExWS.Cells(i, 3)
    rs!marsooleh = ExWS.Cells(i + 6, 2)
    rs!f1 = ExWS.Cells(i, 1)
    rs!f2 = ExWS.Cells(i + 1, 1)
    rs!f3 = ExWS.Cells(i + 2, 1)
    rs!f4 = ExWS.Cells(i + 4, 1)
    rs!f5 = ExWS.Cells(i + 5, 1)
    rs!f6 = ExWS.Cells(i + 6, 1)
    rs!f7 = ExWS.Cells(i + 7, 1)
    rs!f8 = ExWS.Cells(i + 8, 1)
    rs!f9 = ExWS.Cells(i + 9, 1)
    rs.Update
    i = i + 10
    Loop

    rs.Close
    Set rs = Nothing
    Set ExWS = Nothing
    Set ExApp = Nothing


    روش بسیار خوبی بود
    نمونه کامل
    فایل های ضمیمه فایل های ضمیمه

  32. #32

    نقل قول: مشکل در استخراج رکوردهای خاص

    داداش کارتون بیسته لایک دارین

  33. #33

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط padide55 مشاهده تاپیک
    روش بسیار خوبی بود
    نمونه کامل
    آقا سه تا مورد دارم
    1-این با فایل اصلی زمانبر میشه اگه اول بیاریمش توی یک تیبل بعد این بلاها رو میشه سرش درآورد که موقع خوندن از اکسل سرش میاریم
    2-همون خظای overflow رو بازم با فایل اصلی میده
    3-اینجاشو هم توضیح بدین دقیقا این یعنی چی ExWS.Cells(I + 6, 2)
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: png h.PNG‏ (12.6 کیلوبایت, 69 دیدار)

  34. #34
    کاربر دائمی آواتار padide55
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    زاهدان
    پست
    567

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط anoor_h مشاهده تاپیک
    آقا سه تا مورد دارم
    1-این با فایل اصلی زمانبر میشه اگه اول بیاریمش توی یک تیبل بعد این بلاها رو میشه سرش درآورد که موقع خوندن از اکسل سرش میاریم
    2-همون خظای overflow رو بازم با فایل اصلی میده
    3-اینجاشو هم توضیح بدین دقیقا این یعنی چی ExWS.Cells(I + 6, 2)
    سلام
    در نمونه قبلی اطلاعات مورد نظر به اکسس میاد و بعد روی اون کار میکنیم

    و این روشی که مستقیم از اکسل میخونه

    در اکسل دو روش داریم برای ادرس دهی
    اولی
    range("a1")
    ودومی

    cells(1,1)

    این دو یک مفهوم رو دارند
    cell(Row,Column)

    حالا کد دادیم که مثلا
    بعد از اولین ردیفی شامل حروف "مبدا" باشه شماره گذاری کنه و بعد سلولهای بعدی رو بر اساس اون I فراخوان کنه .


    i را برابر 1 قرار دهد
    i = 1

    تا زمانی که به خانه خالی برسد ادامه یابد

    Do While ExWS.Cells(i, 1) <> ""

    اگر سمت چپ هفتمین ردیف شامل "مبدا" باشد


    Do Until Left(ExWS.Cells(i, 1), 7) = "مبداء :"
    به i یک شماره اضافه کند


    i = i + 1
    یعنی مبدا شمارش همون کاراکتر یافت شده هست
    اولین مبدا در کدام سلول هست سلول ردیف اول و ستون اول در نظر می گیریم

    دومین "مبدا"
    مثلا سطر دهم باشد
    سطر بعدی و بعدی و .... رو دیتایش در جدول بنشیند و چون marsole در ردیف ششم و سطر دوم قرار دارد .
    بعد از هر "مبدا" شش سلول پایین تر و دیتای ستون دوم را می خواند




    Loop

    به جدول اکسس ردیف اضافه کند


    rs.AddNew
    و داده ها را از اکسل بر اساس i و شماره ردیف سلول بعد از i فراخوان کند.



    rs!radif = ExWS.Cells(i, 3)
    rs!marsooleh = ExWS.Cells(i + 6, 2)
    rs!f1 = ExWS.Cells(i, 1)
    rs!f2 = ExWS.Cells(i + 1, 1)
    rs!f3 = ExWS.Cells(i + 2, 1)

    الی اخرین مورد هر مرسوله
    rs.Update
    i = i + 10
    Loop

    نمونه اکسل به دو روش ادرس دهی cell , range
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: zip 1.zip‏ (103.2 کیلوبایت, 12 دیدار)
    آخرین ویرایش به وسیله padide55 : چهارشنبه 20 اسفند 1399 در 08:07 صبح

  35. #35

    نقل قول: مشکل در استخراج رکوردهای خاص

    داداش قشنگ توضیح دادی باحوصله

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

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

    نقل قول: مشکل در استخراج رکوردهای خاص

    نقل قول نوشته شده توسط anoor_h مشاهده تاپیک
    سلام نمیدونم چرا با فایل اصلی این خطا رو میده چیه بنظرتون

    تو این خط rs!marsooleh = ExWS.Cells(i + 6, 2)
    احتمالا فیلد MARSOOLEH رو از نوع عدد تعریف کردین، بگذارین همون STRING بمونه.

  37. #37
    کاربر دائمی آواتار padide55
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    زاهدان
    پست
    567

    نقل قول: مشکل در استخراج رکوردهای خاص

    سلام

    کدها رو به این صورت جابجا کنید


    For l = 0 To textNodes.Length - 1


    textN = textNodes(l).NodeValue 'Node name"


    If textN >= 1 And textN < 90000 Then
    kamza = textN
    End If


    If textN Like "*ÕÇÏÑå :*" Then
    kamba = textN
    End If

    If Left(textN, 4) = "0311" Then
    kamka = textN

    rs2.AddNew

    rs2![f1] = Nz(kamka)
    rs2![f2] = Nz(kamba)
    rs2![f3] = Nz(kamza)

    rs2.Update

    End If





    Next

  38. #38

    نقل قول: مشکل در استخراج رکوردهای خاص

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

  39. #39

    نقل قول: مشکل در استخراج رکوردهای خاص

    یه جای دیگه اش هم گیر کردم زحمتت من یه جدول جدا ایجاد کردم به نام noghte و درونش مقصد ها رو وارد کردم مثل سبزوار و نیشابور و فلان بعد اومدم یه جوین زدم با این جدول استخراج شده مون به این شکل
    SELECT noghte.[daftar], Sheet1.f1, Sheet1.f3
    FROM Sheet1 INNER JOIN noghte ON Sheet1.f2 Like '*' & noghte.[daftar] & '*';
    حالا برام فقط اون مرسولاتی رو میاره که حتما در جدول noghte باشه

    حالا سوال من اینجاست چطوزی یه کوئری جدید بنویسیم که بهش بگم فقط مرسولاتی رو بیار که شهرهای جدول نقطه نباشه
    این جواب نمیده
    SELECT noghte.[daftar], Sheet1.f1, Sheet1.f3
    FROM Sheet1 INNER JOIN noghte ON Sheet1.f2 not Like '*' & noghte.[daftar] & '*';

  40. #40
    کاربر دائمی آواتار padide55
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    زاهدان
    پست
    567

    نقل قول: مشکل در استخراج رکوردهای خاص

    سلام در ویزارد کوئری از unmatch کوئری استفاده کنید . راحته.
    نمونه
    ابتدا در کوئری جستجومیکنیم و کلمه شهر چندمین حرف در متن هست .

    instr(stepfrom;text;findwhat)
    step از چندمین کاراکتر شروع به شمارش کند
    text متن مورد جستجو
    findwhat کلمه مورد جستجو


    بعد جستجو میکنیم که بعد از شماره بدست امده از کلمه شهر
    کاما ، چندمین کاراکتر در متن هست
    چون چندین کاما در متن هست .
    بعد با mid بعد از کلمه شهر تا تعداد حروف رسیده به کاما میشه نام شهر یعنی بین کلمه شهر و کامای بعد از ان

    نمونه
    حالا بدون استفاده از like میشه جستجو انجام داد

    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله padide55 : یک شنبه 24 اسفند 1399 در 08:11 صبح

صفحه 1 از 2 12 آخرآخر

تاپیک های مشابه

  1. پاسخ: 5
    آخرین پست: چهارشنبه 22 شهریور 1402, 14:26 عصر
  2. پاسخ: 1
    آخرین پست: سه شنبه 22 تیر 1395, 13:16 عصر
  3. استخدام برنامه نویس در استان همدان شهرستان تویسرکان
    نوشته شده توسط alvandyhamed در بخش آگهی های استخدام
    پاسخ: 0
    آخرین پست: جمعه 07 مرداد 1390, 17:26 عصر

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

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