PDA

View Full Version : مشکل در استخراج رکوردهای خاص



anoor_h
یک شنبه 10 اسفند 1399, 00:32 صبح
سلام من یه فایل اکسل دارم که میخوام وارد اکسس کنمش و از توی اون یه سری اطلاعات رو فیلتر و استخراج کنم ولی مشکل اصلی اینه
اطلاعاتی که من میخوام روبروی هم نیستند و نمیشه سلکت زد
نمونه شو گذاشتم یه لطفی میکنین نگاه کنین

mazoolagh
یک شنبه 10 اسفند 1399, 11:40 صبح
بارها مطرح و پاسخ داده شده

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

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

https://s17.picofile.com/file/8426649776/find_exel.rar.html

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

https://s17.picofile.com/file/8426649776/find_exel.rar.html

سلام
اول
فایل اکسل رو با شماره ردیف ایمپورت کنید که نظم فیلدها مشخص باشه . تا بعد ببینیم چکار میشه کرد .
نمونه فایل اکسل رو ضمیمه بفرمایید .

anoor_h
سه شنبه 12 اسفند 1399, 15:07 عصر
ممنونم فایل رو فرستادم

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

https://s17.picofile.com/file/8426649776/find_exel.rar.html

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

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

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

anoor_h
سه شنبه 12 اسفند 1399, 22:44 عصر
ممنون از توجهتون ولی این خیلی پیچیده شد نمونه ای چیزی ندارین برام بزارین یا اصل اکسل رو گزاشتم میتونین اصلاح کنین

mazoolagh
چهارشنبه 13 اسفند 1399, 15:05 عصر
ممنون از توجهتون ولی این خیلی پیچیده شد نمونه ای چیزی ندارین برام بزارین یا اصل اکسل رو گزاشتم میتونین اصلاح کنین

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

padide55
چهارشنبه 13 اسفند 1399, 22:31 عصر
سلام
سوال اینه که شما اون فایل خروجی اکسل که دارید رو از نرم افزار خاصی میگیرید ؟
همونجا خروجی به روش دیگه داره یا نه ؟

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

anoor_h
چهارشنبه 13 اسفند 1399, 23:30 عصر
بله اون نرم افزار خروجی به xml و چیزایه دیگه رو هم داره

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

anoor_h
چهارشنبه 13 اسفند 1399, 23:45 عصر
اگر کدنویسی بلد هستین همون روش اول راحتتر هست چون مستقیما با شماره سلول دیتا رو میخونین و این سمت در جدول میریزین و نیازی به رکوردست بازکردن (برای خوندن) و پیمایش اون نیست.
نمونه برای خوندن مستقیم از اکسل در همین انجمن خیلی هست.

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

anoor_h
چهارشنبه 13 اسفند 1399, 23:51 عصر
من کد دریافت رو میزارم لطف کنید این کد اون تایپک رو شما تو دلش اصلاح کنید


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)

mazoolagh
پنج شنبه 14 اسفند 1399, 09:51 صبح
ممنون اگه کدهای اون تایپک همه سرجمع بود مفهوم تر بود من ازشون سر درنمیارم اونجاییم که نقطه گذاشتین که کلا گیج میشم

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

mazoolagh
پنج شنبه 14 اسفند 1399, 09:53 صبح
من کد دریافت رو میزارم لطف کنید این کد اون تایپک رو شما تو دلش اصلاح کنید


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)





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

padide55
پنج شنبه 14 اسفند 1399, 10:13 صبح
نمونه فایل رو در مسیر درایو c کپی کنید(با پوشه)

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

anoor_h
پنج شنبه 14 اسفند 1399, 22:32 عصر
اگه بشه شماره مرسوله رو توی دو تا فیلد خالی بعد کپی کنیم خیلی خوب میشه

padide55
جمعه 15 اسفند 1399, 00:11 صبح
اگه بشه شماره مرسوله رو توی دو تا فیلد خالی بعد کپی کنیم خیلی خوب میشه
الان باید دید هدفتون چیه
که بر اساس اون انجام بشه .
چون فکر کنم این روش مشکل رو‌حل کرده باشه .
دقیقا میخواید چکار کنید .این مهمه .

anoor_h
یک شنبه 17 اسفند 1399, 21:31 عصر
این فایلی که شما گذاشتین فقط شماره ردیف اضافه کرده اونم رکوردهای اول قاطی شده من یه هدف بیشتر ندارم شماره مرسوله رو بزنم مقصد رو برام بیاره همونی که هایلایت کردم

padide55
دوشنبه 18 اسفند 1399, 08:23 صبح
سلام

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

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

padide55
دوشنبه 18 اسفند 1399, 09:39 صبح
سلام مجدد
روش ابداعی مشکل حل شد ولی کلا باید خروجی های دیگه رو هم چک کنیم ببینیم کدام بهتره

mazoolagh
دوشنبه 18 اسفند 1399, 10:20 صبح
سلام مجدد
روش ابداعی مشکل حل شد ولی کلا باید خروجی های دیگه رو هم چک کنیم ببینیم کدام بهتره

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

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

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

mazoolagh
دوشنبه 18 اسفند 1399, 10:29 صبح
اول جدول رو طراحی میکنیم؛
فیلدهای f1-f9 در اصل باید اسامی معنادار داشته باشن که بعهده استارتر تاپیک میگذارم.
153100

mazoolagh
دوشنبه 18 اسفند 1399, 10:34 صبح
روش کار در تاپیکی که در پست 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

mazoolagh
دوشنبه 18 اسفند 1399, 10:34 صبح
نتیجه کار:
153101

mazoolagh
دوشنبه 18 اسفند 1399, 10:36 صبح
برنامه نمونه:

anoor_h
دوشنبه 18 اسفند 1399, 22:39 عصر
برنامه نمونه:

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

anoor_h
دوشنبه 18 اسفند 1399, 22:41 عصر
:تشویق::تشویق::تشویق::تشویق:: شویق::تشویق::تشویق::تشویق:

anoor_h
دوشنبه 18 اسفند 1399, 22:43 عصر
سلام مجدد
روش ابداعی مشکل حل شد ولی کلا باید خروجی های دیگه رو هم چک کنیم ببینیم کدام بهتره

ممنونم از شمام که وقت میزاری داشتم روی xml هم کار میکردم اونم همونطوری جدولش شلوغ شد ولی مطمئنم اونو بزارم شما میتونی ازش چیزی درآری

anoor_h
سه شنبه 19 اسفند 1399, 00:30 صبح
سلام نمیدونم چرا با فایل اصلی این خطا رو میده چیه بنظرتون

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

ضمنا خط بالا رو هم یه توضیح بدین i رو که میدونم ردیف اکسل هست درسته؟

padide55
سه شنبه 19 اسفند 1399, 09:00 صبح
سلام
xml هم همون روش اکسل بود .

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

نمونه جدید

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

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

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

padide55
سه شنبه 19 اسفند 1399, 13:59 عصر
روش کار در تاپیکی که در پست 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




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

anoor_h
سه شنبه 19 اسفند 1399, 22:03 عصر
داداش کارتون بیسته لایک دارین

anoor_h
سه شنبه 19 اسفند 1399, 22:13 عصر
روش بسیار خوبی بود
نمونه کامل

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

padide55
چهارشنبه 20 اسفند 1399, 08:42 صبح
آقا سه تا مورد دارم
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

anoor_h
چهارشنبه 20 اسفند 1399, 23:14 عصر
داداش قشنگ توضیح دادی باحوصله

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

mazoolagh
جمعه 22 اسفند 1399, 01:38 صبح
سلام نمیدونم چرا با فایل اصلی این خطا رو میده چیه بنظرتون

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



احتمالا فیلد MARSOOLEH رو از نوع عدد تعریف کردین، بگذارین همون STRING بمونه.

padide55
شنبه 23 اسفند 1399, 10:50 صبح
سلام

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



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

anoor_h
شنبه 23 اسفند 1399, 22:18 عصر
ممنونم خیلی قشنگ شد ازون اکسل هم بهتر شد

anoor_h
شنبه 23 اسفند 1399, 22:25 عصر
یه جای دیگه اش هم گیر کردم زحمتت من یه جدول جدا ایجاد کردم به نام 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] & '*';

padide55
یک شنبه 24 اسفند 1399, 08:05 صبح
سلام در ویزارد کوئری از unmatch کوئری استفاده کنید . راحته.
نمونه
ابتدا در کوئری جستجومیکنیم و کلمه شهر چندمین حرف در متن هست .

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


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

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

nima_703
پنج شنبه 21 مهر 1401, 01:17 صبح
سلام
من پست ها رو دیدم ولی من یه مشکلی دارم
من یک نمونه فایل میذارم لطف کنید وقت بذارید و اونو ببینید داخل فرم t1 من یک دکمه دارم به اسم (ایمپورت اطلاعات از اکسل)
من میخوام وقتی که روی این دکمه کلیک کنم به مای کامپیوتر سیستمم وصل بشه و از من یک فایل با پسوند اکسل بخواد و من فایل رو انتخاب کنم (فایل نمونه اکسل هم گذاشتم) و اون فایل اکسل رو به من نشون بده و من بتونم قسمتی از اطلاعات اون فایل یا همه اطلاعات داخل اون فایل اکسل رو ایمپورت کنم داخل فرم خودم
ممنون میشم اگه اون کد رو داخل فایل نمونه خودم کپی کنید و فایل رو برام آپلود کنید.