اذهب الي المحتوي
أوفيسنا

وجود تغيير فى تنسيق التقرير بعد تصديره لصيغة TXT


ahmed289

الردود الموصى بها

عملت تقرير خاص بالرواتب وكان مطلوب انى اصدره لملف TXT  والحمد لله تم تصديره ولكن بعد التصدير بيظهر سطور فارغة بين سطور البينات صحيح انها لم تؤثر على قيمة البيانات لكن البنك بيفرض عليا حذف تلك السطور قبل ارسال الملف

ولذلك اسال اساتذتى اولا عن سبب ظهور التقرير بهذا الشكل بعد تصديره

ثانيا طريقة الحل وشكرا جزيلا مقدما ------ مرفق صور1.png.19200f907566c6357fb8eb8dfeab783b.png 

2.png

رابط هذا التعليق
شارك

وعليكم السلام اخي احمد 🙂

 

واهلا وسهلا بك في المنتدى 🙂

للاستفادة القصوى من المنتدى ، رجاء قراءة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة

 

2 ساعات مضت, ahmed289 said:

عملت تقرير خاص بالرواتب وكان مطلوب انى اصدره لملف TXT

ليش ما تصدر الاستعلام مصدر بيانات التقرير مباشرة الى ملف نص txt ، فالاستعلام لا يوجد به تنسيق ، والتقرير يكون فيه تنسيق ، والذي قد يكون سبب مشكلتك !!

 

جعفر

رابط هذا التعليق
شارك

نفس الامر الذي ترسل فيه قيم التقرير ، عادة يكون فيه امر لإرسال قيم استعلام 🙂

اما استبدال العمود بعلامة فاصلة ، فلازم تخبرنا كيف عملتها في التقرير ، علشان نعملها في الاستعلام 🙂

 

وفي طريقة اخيرة ، وهي نعمل عملية للملف الذي تم تصديره ، نقرأ السطر الفارغ ونحذفة ، ولكن آخر الدواء الكي 🙂

 

جعفر

رابط هذا التعليق
شارك

انا استبدلت العمود بفاصلة بطريقة يدوية بمعنى انى فتحت مربع نص عملت فيه معادلة الاتحاد اللى هى كدا
[الحقل الاول]&","&[الحقل الثانى]&","&[الحقل الثالت]&","&[الحقل الرابع] وهكذا
وطبع مصدر الحقول دى من الاستعلام ومن معادلات موجودة فى الاستعلام ولذلك اعتقد من الصعب ان تتم عملية التصدير من الاستعلام مباشرة

رابط هذا التعليق
شارك

8 ساعات مضت, ahmed289 said:

اريد التقرير يخرج بالشكل الموجود بالصور وهو استبدال العمود بعلامة الفاصلة

فيه فكرة في بالي لعمل الفواصل 🙂 

وهي انشاء استعلام من عمود واحد ويكون مصدره الجدول .. في هذا العمود يتم جمع جميع أعمدة الجدول والفصل بينهم بالفاصلة هكذا : [Field1] & " ," & [Field2]

وبعدها يتم تصدير الاستعلام ..

والتجربة خير برهان :biggrin:👌🏼

  • Like 1
رابط هذا التعليق
شارك

4 ساعات مضت, Moosak said:

فيه فكرة في بالي لعمل الفواصل 🙂 

وهي انشاء استعلام من عمود واحد ويكون مصدره الجدول .. في هذا العمود يتم جمع جميع أعمدة الجدول والفصل بينهم بالفاصلة هكذا : [Field1] & " ," & [Field2]

وبعدها يتم تصدير الاستعلام

نعم اخوي موسى ، هذه هي الفكرة ، استعلام بمعاييره ، وبحقل يضم جميع الحقول مثل ما تفضلت ، ثم تصدير الاستعلام الى ملف نص 🙂

 

جعفر

رابط هذا التعليق
شارك

وعليكم السلام 🙂

اولا ، الحمدلله انك قدرت تعمل تصدير لبيانات الاستعلام 🙂

ثانيا ، اليك طريقتي:

 

هذا هو الاستعلام qry_Export_Text

image.png.b19e1dfc72eee53d79c499058a21229c.png

.

استعمل هذا الكود لتصدير الاستعلام الى ملف نص ، ولا تغير شيء في الكود سوى المتغيرين:

Query_Table_Name و File_Path


    Dim Temp As String, File_Path As String, Query_Table_Name As String
    
    Query_Table_Name = "qry_Export_text"
    File_Path = "D:\me.txt"
    
    DoCmd.TransferText acExportDelim, , Query_Table_Name, File_Path, False, , 65001

    Open File_Path For Input As #1
        Temp = Input(LOF(1), #1)
    Close #1
    
    Temp = Replace(Temp, Chr(34), "")
    
    Open File_Path For Output As #1
        Print #1, Temp
    Close #1

.

وشرح الكود:

تصدير نص ، اسم الجدول/الاستعلام ، اسم ومسار الملف التصدير ، لا تعرض اسماء الحقول ، 65001 معناه ان البيانات قد يكون بها حروف عربية Unicode لهذا فصيغة الحفظ يجب ان تراعي هذا

    DoCmd.TransferText acExportDelim, , Query_Table_Name, File_Path, False, , 65001

.

لما عملت التصدير ، هكذا كان الملف :

"02-May-22,1,74.29,0,,,,abu gehad,02-May-22,1,74.29,0,,,,abu gehad"
"19-May-22,4,701.75,0,,,,sd investment,19-May-22,4,701.75,0,,,,sd investment"
"19-May-22,10,32850,0,,,,sd investment,19-May-22,10,32850,0,,,,sd investment"

.

ولكني لا اريد علامة " في بداية ونهاية الاسطر ، وللعلم ، بلغة الكمبيوتر ، العلامة " = Chr(34)

فقمت بقراءة ملف النص جملة/دفعة واحدة (لم اقرأ الملف سطر بسطر) ، وحفظه في المتغير Temp :

    Open File_Path For Input As #1
        Temp = Input(LOF(1), #1)
    Close #1

.

عملت امر بإستبدال العلامة " الى لا شيء ، وكما قلت اعلاه : بلغة الكمبيوتر ، العلامة " = Chr(34) 

فاصبح المتغير Temp يحتوي على نص الملف بدون العلامة "

تحذير: اذا كان الملف يحتوي على علامة " في وسط الكلمات ، فيجب معالجة ملف النص بقراءته سطر بسطر ، ثم حذف اول وآخر " فيه ، ثم تجميع الاسطر.

Temp = Replace(Temp, Chr(34), "")

.

الآن وقد اصبح النص نظيفا ، فنحفظه من المتغير الى الملف مرة اخرى (طبعا ملف النص يجب ان يكون مغلق)

    Open File_Path For Output As #1
        Print #1, Temp
    Close #1

.

والنتيجة

02-May-22,1,74.29,0,,,,abu gehad,02-May-22,1,74.29,0,,,,abu gehad
19-May-22,4,701.75,0,,,,sd investment,19-May-22,4,701.75,0,,,,sd investment
19-May-22,10,32850,0,,,,sd investment,19-May-22,10,32850,0,,,,sd investment

 

جعفر

  • Like 2
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information