بدون مقدمات يوجد كود لإنشاء ملف نصي وكلنا يعرفه
ولكنه يجعل ترميز الملف الناتج ANSI
فهل يوجد كود لتحديد ترميز الملف النصي قبل الإنشاء
أو حتى تغيير ترميزه بعد الإنشاء
؟؟
برجاء تدخل الأساتذة الكبااااااااااااااااااااااار
بدون مقدمات يوجد كود لإنشاء ملف نصي وكلنا يعرفه
ولكنه يجعل ترميز الملف الناتج ANSI
فهل يوجد كود لتحديد ترميز الملف النصي قبل الإنشاء
أو حتى تغيير ترميزه بعد الإنشاء
؟؟
برجاء تدخل الأساتذة الكبااااااااااااااااااااااار
التغير هو القانون الدائم للحياة.ودوام الحال من المحال
فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟
اخي الفاضل محمد صالح
السلام عليكم ورحمة الله وبركاته
الذي اعرفه عن الترميز بصيغة UTF-8 انها موجوده في برنامج الأكسيس تحت صيغة التصدير لجداول واستعلامات قواعد البيانات ويكون الترميز هو acUTF8
ف‘ن كنت تستطيع استيراد الملف النصي الى جدول في قاعدة البيانات فعندها تستطيع التحويل والتصدير مباشرة الى ملف نصي بترميز UTF-8
قم بالتجربه من خلال الماكرو بالدالة OutPutTo
او هناك طريقة اخرى وهي عن طريق تحويل الجدول بعد استيراد الملف النصي له الى ملف XML فهو يدعم الترميز UTF-8
السلام عليكم ورحمة الله وبركاته
بارك الله فيك أستاذتي زهرة ... ... ولإثراء الموضوع ... هذا مثال من خلال الكود ... بإستخدام OutputTo وهو يأخذ المعاملات التالية
expression.OutputTo(ObjectType, ObjectName, OutputFormat, OutputFile, AutoStart, TemplateFile, Encoding)
Objecttype: مطلوب ويأخذ أحد القيم التالية
acOutputForm
acOutputModule
acOutputQuery
acOutputReport
acOutputTable
Objectname : إختياري إذا كنت تريد تصدير الكائن الحالي ... وإلا يجب تحديده .. وهو تعبير نصي يمثل إسم الكائن المراد تصديره
Outputformat : إختياري .. في حالة تجاهله ستطالب بتحديده خلال التنفيذ ... وهو يمثل نوع الملف الصادر .. ويأخذ أحد القيم التالية
acFormatActiveXServer
acFormatHTML
acFormatIIS
acFormatRTF
acFormatTXT
acFormatXLS
Outputfile : إختياري .. وفي حال تجاهله ستطالب بتحديد مسار الملف المصدر وقت التنفيذ .. وهو تعبير نصي يمثل مسار الملف المصدر
Autostart : إختياري .. القيمة الإفتراضية لها false ... إذا إخترت True سيشغل الملف المصدر آليا بالبرنامج المناسب له
Templatefile : إختياري ... تعبير نصي لمسار ملف القالب .... مناسب لهذا النوع HTML, HTX, and ASP من الملفات
Encoding : إختياري ... في حال تجاهله .. سيصدر الملف بالتشفير الإفتراضي لنظام الويندوز .. وله قيم ثابته منها
acEUCJ
acUCS2
acUCS4
acUTF16
acUTF8
وبالتوفيق
تم تعديل هذه المشاركة بواسطة koao في 16 يناير 2010 في 20:54
اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
أشكرك مجرد مرورك أختي الفاضلة أم عهود
وسعيد بتواصلك أخي koao
ولكن
ترميز الملف النصي بعد تصديره بالكود السابق ansi وهذه الصورة هي الدليل

وما أريده موجود في هذه الصورة

رغم أني لا أريد تصدير الجدول إلى ملف نصي بهذه الطريقة
ولكني أريده بطريقة تشبه هذا الكود في إنشاء ملف نصي
Dim f As Object, rst As Recordset, q As QueryDef
Set f = CreateObject("Scripting.FileSystemObject").CreateTextFile(CurrentProject.Path & "\txtquery.sql", True)
Set q = CurrentDb.CreateQueryDef("", "SELECT Customers.CustomerID, Customers.Phone FROM Customers;")
Set rst = q.OpenRecordset(dbOpenDynaset)
f.writeline "insert into customers (""customerid"", ""phone"") values "
With rst
Do While .EOF = False
f.writeline "(""" & rst![customerid] & """, " & rst![phone] & "), "
rst.MoveNext
Loop
End With
Set q = Nothing
Set f = Nothingولمرة أخرى شكرا لتواصلكم إخوتي وأحبابي
التغير هو القانون الدائم للحياة.ودوام الحال من المحال
فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟
السلام عليكم ورحمة الله وبركاته
أخي الكريم ... لعل هذا الكود يكون الحل .. ولكن يجب إزالة المرجع التالي
Microsoft ActiveX Data Objects 2.1 Library
وإضافة المرجع التالي
Microsoft ActiveX Data Objects 2.5 Library
أو أعلى بحيث أني أضفت في مثالي في المرفق المرجع ذاته ولكن بنسخة جديدة 2.8
Dim stmUTF8 As ADODB.Stream
Set stmUTF8 = New ADODB.Stream
With stmUTF8
.Open
.LoadFromFile "C:\AcTxt.txt"
.Type = adTypeText
.Charset = "utf-8"
.SaveToFile "C:\15.txt", adSaveCreateOverWrite
.Close
End Withفهذا الكود يفتح الملف "C:\AcTxt.txt" ويحفظه بإسم "C:\15.txt" وبتشفير UTF-8
أو تستطيع إستخدام الكود التالي للكتابة
Dim stmUTF8 As ADODB.Stream
Dim I As Integer
Set stmUTF8 = New ADODB.Stream
With stmUTF8
.Open
.Type = adTypeText
.Charset = "utf-8"
For I = 1 To 10
.WriteText CStr(I), adWriteLine
.SkipLine
Next
.SaveToFile "C:\15.txt", adSaveCreateOverWrite
.Close
End Withفهذا الكود سيفتح Stream تكتب ما تشاء ثم تحفظه بأي نوع تريد وبالتشفير الذي تريد .. والكود السابق ... سيكتب 10 أسطر كل سطر فيه رقم متسلسل من 1 إلى 10
وبالتوفيق
تم التعديل من تاريخه لتعديل الكود وإستخدام SkipLine ليكتب كل رقم في سطر
تم تعديل هذه المشاركة بواسطة koao في 17 يناير 2010 في 00:06
اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
أيوة كده
هو ده الكلام
جزاك الله كل خير
كنت قد وصلت لهذا الكود وجربته وفشل (طبعا بدون تسجيل المرجع لعدم معرفة العلاقة بينهما)
يسعدني أن أتعرف على اسمك الحقيقي أخي koao
أخوك
أبو عبد الله
محمد صالح
التغير هو القانون الدائم للحياة.ودوام الحال من المحال
فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟
السلام عليكم ورحمة الله وبركاته
الشرف لنا أخي محمد ... ويسعدني أمثالك من يثيرون المنتدى بمواضيع حيوية ... تفرض علينا المشاركة والمنافسة ... لإثراء المواقع العربية .. بما يفيد .... وفي موضوعك السابق حينما طلبت كيف نعرف الرقم الأساسي في الجدول .. كنت على تخلف 10 دقائق من مشاركتك التي حليت فيها المسألة ... ولكن ما يهم لأني إستفدت الكثير وأنا أبحث عن الحل ... وهنا تكمن الفائدة في التواصل في هذا المنتدى .. والذي يجعلنا نكتشف اشياء لم تطرأ على أفكارنا
أخوك خالد ... المحب لهذا الصرح الشامخ وأهله
وأريد أن أنوه لتعديل بسيط للكود في المشاركة السابقة وتم تغييير المرفق ايضا
تم تعديل هذه المشاركة بواسطة koao في 17 يناير 2010 في 00:16
اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…