PDA

View Full Version : استفاده از txt برای insert داده ها



kasra_khan2003
چهارشنبه 28 مهر 1389, 23:38 عصر
سلام، هر هفته یه فایل text از طرف بانک میاد که حاویه اطلاعات واریز مشتریا هست.

من میخوام این اطلاعات رو از اون فایل text بگیرم و بریزم داخل مثلا acces

یه راه خوبی که پیدا کردم اینه که اول اطلاعات رو تو excel به صورت import بدم، بعد همون فایل excel رو بدم به acces! بعدش هم که دیگه همه کد نویسی هست.

اما میخوام ببینم راه بهتری هست؟ مثلا اینکه مستقیم فایل txt رو بدم به برنامه. یا اینکه همون کاری که بصورت دستی انجام میدم (به excel بعد هم به acces ) رو بصورت اتوماتیک خود برنامه انجام بده؟

Alghoochi
پنج شنبه 29 مهر 1389, 08:04 صبح
پردازش فایل متنی به مراتب راحت تر از فایل های اکسل هست. چرا مستقیم اطلاعات رو از فایل متنی نمی خونی و وارد بانک اطلاعاتی کنی؟

farhadt
پنج شنبه 29 مهر 1389, 10:55 صبح
Dim sr As IO.StreamReader = IO.File.OpenText("c:\mytext.txt")
Dim myline As String
Do Until sr.EndOfStream
myline = sr.ReadLine
Loop

kasra_khan2003
پنج شنبه 29 مهر 1389, 15:01 عصر
پردازش فایل متنی به مراتب راحت تر از فایل های اکسل هست. چرا مستقیم اطلاعات رو از فایل متنی نمی خونی و وارد بانک اطلاعاتی کنی؟

برای این کار باید اطلاعات هر ردیف رو جدا کنم.

اطلاعات با دو متد از هم جدا شدن. یکی comma هست و دیگری space.

یعنی باید برای برنامه تعریف کنم که هر خطی که میخونه، وقتی به کاما یه space رسید، اونو (به عنوان یه فیلد) جدا کنه و داخله ستون مربوطه insert کنه.

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

فعلا کدی برای انجام این کار به ذهنم نمیرسه! اگه شما میتونید کمک کنید

farhadt
پنج شنبه 29 مهر 1389, 15:16 عصر
این کد برای جدا کردن کلماتیه که با کاما مشخض میشن. اگه با space مشخص شده باشن به جای کاما Space بزار.



Dim str As String = IO.File.ReadAllText("C:\myText.txt")
Dim arrStr() As String = str.Split(",")
For Each myWord As String In arrStr
MsgBox(myWord)
Next


موفق باشی

omid-vbAuto
پنج شنبه 29 مهر 1389, 15:41 عصر
سلام
می تونید به سوالم جواب بدین؟

farhadt
پنج شنبه 29 مهر 1389, 15:44 عصر
سلام
می تونید به سوالم جواب بدین؟

عزیزم توهم زدی؟ سوالی نپرسیدی!!:لبخند:

Alghoochi
جمعه 30 مهر 1389, 14:24 عصر
نه ایشون خواستن اول جو رو محیا کنن بعد سوال بپرسن. متن سوال تا چند روز آینده پرسیده می شه. :کف: