سؤال

باستخدام VB6

الآن أنا أستخدم زر تصفح في برامجي لتحديد الملف النصي ، ثم يتم تحويله إلى MDB (Access). لا أريد تحديد الملف النصي.

بمجرد تثبيت البرنامج الخاص بي في أي نظام ، يجب تحديد الملف النصي تلقائيًا في مسار محدد. ثم يتحول الملف النصي تلقائيًا إلى MDB. بمجرد تحويلها إلى MDB ثم

رمز VB لتحويل النص إلى MDB.

Dim db As Database, tbl As TableDef
Set db = DBEngine.OpenDatabase(App.Path & "\History.mdb")
Set tbl = db.CreateTableDef("Temp")
tbl.Connect = "Text;database=" & App.Path & "/ConvTemp/"
tbl.SourceTableName = strOutput & ".txt"
db.TableDefs.Append tbl
db.Execute "Select Temp.ID, Temp.IDTerminal, Temp.Reader, Temp.Date, Temp.Time, Temp.Cardnumber into  " & strOutput & "  from Temp"
db.TableDefs.Delete ("Temp")
db.Close
MsgBox strOutput
sql2 = "insert into events select * from " & strOutput & ""
If rs.State = 1 Then rs.Close
rs.Open sql2, Cn, adOpenStatic, adLockOptimistic
Set tbl = Nothing
Set db = Nothing

الرمز أعلاه يعمل للنص على تحويل MDB. لكنني بحاجة إلى تحويل الملف النصي تلقائيًا دون استخدام زر تصفح.

فمثلا

اسم MDB IS - History.MDB و NAME NAME IS - EVENT.MDB

قمت بتعيين مسار مثل هذا "C: newfolder" في برامجي

في المجلد أعلاه ، سيظهر الملف النصي بأسماء مختلفة. قد يكون ملف نصي يوميًا من 10 إلى 20 ملفًا نصيًا بأسماء مختلفة جديدة. لا يمكنني إعطاء اسم الملف النصي أيضًا. لا بد لي من إعطاء الامتداد فقط مثل (*.txt).

بمجرد تثبيت البرنامج الخاص بي ، يجب على البرنامج تحديد الملف النصي من C: NewFolder ، ثم يتم تحويله تلقائيًا إلى MDB ، بعد تحويل الملف النصي ، يجب حذف الملف النصي تلقائيًا.

الناتج المتوقع

Once I installed my software in any system, the software should select the text file from the specified folder, then the text file convert into mdb. Once converted, the text files automatically delete from the specified path.

لتحويل النص إلى MDB AM يحمل الرمز ، لتحديد الملف النصي تلقائيًا ، أحتاج إلى نموذج رمز أو فكرة

أنا جديد على VB6 ، هل يمكن لأي شخص إعطاء فكرة عن كيفية القيام بذلك. أو يمكن لأي نشر رمز عينة لتحديد ملف نصي تلقائيًا.

لو سمحت.

هل كانت مفيدة؟

المحلول

الرمز الأساسي سيبدو شيئًا أسفل خطوط هذا:

      Dim filename As String
      filename = Dir$("C:\NewFolder\*.txt", vbDirectory)
      Do While filename <> ""

        Debug.Print filename

        'This line will delete the file as you asked
        'but to make sure if the file has been converted to mdb
        'is solely your code's responsibility

        Kill "C:\NewFolder\" & filename

        filename = Dir$
      Loop

يفترض الرمز أعلاه أنه في C: NewFolder ، سيكون لديك فقط ملفات *.txt ولا توجد ملفات أو مجلدات أخرى.

HTH

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top