اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

مطلوب تغيير تنسيق ارقام في حقل نصي


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

السلام عليكم

اخوتي الكرام :

في المرفق جداول كل واحد منها يحتوي على حقل  نصي  وهو عبارة عن رقمين يفصل بينهما علامة السالب

المسألة : ان تنسيق الارقام  يظهر بشكل مقلوب 

   مثال  7-1  والصحيح ان يكون  1-7

وبتوضيح اكثر : هذين الرقمين عبارة عن ارقام آيات 

أي من آية رقم 1 الى آية رقم 7

المطلوب  تنسيق  يتم تطبيقه على الجدول / الجداول  

db2.rar

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

طيب انا عندى اقتراح قم بادخال الارقام بالعكس
اى بدلا من أن تبدأ بكتابة  
1  ثم  -  ثم   7
قم بكتابة
7  ثم  -  ثم  1
وبهذه الطريقة تحصل على مرادك   

تم تعديل بواسطه ابا جودى
  • Like 1
رابط هذا التعليق
شارك

وعليكم السلام أخوي ابو خليل :rol:

 

الله ان شاء الله يشغلك بالخير دوم :rol:

 

ما عملتها بتنسيق ، وانما بإستعلام ، وبطريقتين:

F: كود في الاستعلام مباشرة ، ولكنك تعرف ان الكود يتلخبط بسبب الكلمات العربية ،

FF: بوحدة نمطية 

321.Clipboard01.jpg.791e85d8a5ae013ac1fe

.

والنتائج:

321.Clipboard02.jpg.4053a1a86a12802867d0

.

والوحدة النمطية:


Function flip_Numbers(T)


    If InStr(T, "-") > 0 Then
        flip_Numbers = Mid(T, InStr(T, "-") + 2) & " - " & Mid(T, 1, InStr(T, "-") - 2)
    Else
        flip_Numbers = T
    End If

End Function

 

جعفر

321.db2.mdb.zip

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

رايي المتواضع

1. ان لا نهتم بشكل البيانات في الجداول ! تحفظ باي شكل ! ونقوم بمعالجة الشكل عند الاظهار في النماذج او التقارير او الاستعلامات وبطرق مختلفة

2. ان كان لابد فيمكن تقييد الادخال من خلال النموذج وبطرق مختلفة كان اقيد المؤشر اثناء الكتابة من اليمين لليسار او فصل الحقل الى حقلين من الى في الاستعلام او فصلهم في لجدول من الاساس

تحياتي

31 دقائق مضت, ابا جودى said:

ههههههه  الا وانا باقول اكتب بالعكس
مش عاوز حد يضحك عليه هههههههههههههههههههههه

بالعكس يمكن يكون هو الحل المقبول !

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

1 ساعه مضت, ابا جودى said:

طيب انا عندى اقتراح قم بادخال الارقام بالعكس
اى بدلا من أن تبدأ بكتابة  
1  ثم  -  ثم   7
قم بكتابة
7  ثم  -  ثم  1
وبهذه الطريقة تحصل على مرادك   

كلامك مقبول .. ولكنها مكتوبة من قبل ونريد تعديلها برمجيا

اما اخوي جعفر  فشكرا على المبادرة وكأنك معي حين وضعت السؤال

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

المهم الان  ان تطبق اكوادك السابقة على الجدول e1

لانه يشتمل على نوعيات مختلفة من الارقام

ولك حرية التعديل على اسم الحقل حيث يمكنك تغيير الحروف العربية

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

1 ساعه مضت, jjafferr said:

وعليكم السلام أخوي ابو خليل :rol:

 

الله ان شاء الله يشغلك بالخير دوم :rol:

 

ما عملتها بتنسيق ، وانما بإستعلام ، وبطريقتين:

F: كود في الاستعلام مباشرة ، ولكنك تعرف ان الكود يتلخبط بسبب الكلمات العربية ،

FF: بوحدة نمطية 

321.Clipboard01.jpg.791e85d8a5ae013ac1fe

.

والنتائج:

321.Clipboard02.jpg.4053a1a86a12802867d0

.

والوحدة النمطية:



Function flip_Numbers(T)


    If InStr(T, "-") > 0 Then
        flip_Numbers = Mid(T, InStr(T, "-") + 2) & " - " & Mid(T, 1, InStr(T, "-") - 2)
    Else
        flip_Numbers = T
    End If

End Function

 

جعفر

321.db2.mdb.zip

ملاحظة هنا

qry_Flip_Number
الحقل2 الحقل3 F FF
" 11-16 6 - 1 6 - 1
" 17-20 0 - 1 0 - 1

تحياتي

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

هذه دالة تقوم بالمطلوب 

طبعا يمكن تلاشي خطأ عند وجود رقم واحد وليس للعلامة - وجود

Function ramhan(n)
ramhan = Trim(Split(n, "-")(1)) & "-" & Trim(Split(n, "-")(0))
End Function

بالتوفيق

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

السلام عليكم :rol:

 

أخي الفاضل ابو خليل :rol: ، أخي الفاضل رمهان :rol:

 

انا استعملت جزء من كود اخوي رمهان ، ولكني استبدلت Trim بدالة Replace وذلك لأني حصلت على نتائج أفضل بها سابقا :rol:

 

المرفق فيه وحدة نمطية ، تشتمل على 3 وحدات ، وهي تقوم بتغيير حقل3 في جميع الجداول دفعة واحدة:

flip_Numbers : لا نستعملها نحن (بل تناديها الوحدة النمطية F3_to_F4) ، وهي التي تقوم بعمل تغيير الارقام ،

F3_to_F4 : وهي لتحويل الارقام من حقل3 بالطريقة الصحيحة ، ولكنها تقوم بوضع الارقام الصحيحة في حقل4 ، حتى تقوم انت بالتأكد ان الارقام صحيحة ،

F4_to_F3 : وبعد التاكد من ان الارقام صحيحة ، نستعمل هذه الوحدة ، والتي تحدث حقل3 بالقيم الموجودة في حقل4 ، ثم تحذف القيم من حقل4 ،

 

يعني استعمل F3_to_F4 ، ثم تأكد من الجداول ، ولما تكون مطمئن ، استعمل F4_to_F3 :rol:

والوحدات النمطية: 

Option Compare Database

    Dim x() As String
    
Function flip_Numbers(T)

    T = Replace(T, "   ", "")   '3 spaces
    T = Replace(T, "  ", "")    '2 spaces
    T = Replace(T, " ", "")     '1 space
    
    If InStr(T, "-") > 0 Then
        
        x = Split(T, "-")
        flip_Numbers = x(1) & "-" & x(0)
        
    Else
        
        flip_Numbers = T
        
    End If

End Function


Function F3_to_F4()

    
    Dim tbl As AccessObject
    Dim dbs As Object
    Dim rst As DAO.Recordset

    
    Set dbs = Application.CurrentData
    
    For Each tbl In dbs.AllTables
        
        If Left(tbl.Name, 4) <> "Msys" Then
            'Debug.Print tbl.Name
            
            mySQL = "UPDATE [" & tbl.Name & "] SET [الحقل4] = flip_Numbers([الحقل3])"
            CurrentDb.Execute (mySQL)
            
        End If
        
    Next tbl
    
End Function

Function F4_to_F3()

    
    Dim tbl As AccessObject
    Dim dbs As Object
    Dim rst As DAO.Recordset

    
    Set dbs = Application.CurrentData
    
    For Each tbl In dbs.AllTables
        
        If Left(tbl.Name, 4) <> "Msys" Then
            'Debug.Print tbl.Name
            
            mySQL = "UPDATE [" & tbl.Name & "] SET [الحقل3] = [الحقل4]"
            CurrentDb.Execute (mySQL)
            
            mySQL = "UPDATE [" & tbl.Name & "] SET [الحقل4] = ''"
            CurrentDb.Execute (mySQL)
            
        End If
        
    Next tbl
    
End Function

 

 

جعفر

321.db2.mdb.zip

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

ربما يوحى الكود التالى لكم بشىء

الكود يكتب الفصول مرتبة فى كمبوبوكس

عند تحميل فورم

 

Private Sub Form_Load()
Dim f1 As String, f2 As String, f3 As String, f4 As String, f5 As String, f6 As String, f7 As String, f8 As String, f9 As String, f10 As String, f11 As String, f12 As String
f1 = ChrW(49) & ChrW(47) & ChrW(49) '1/1
f2 = ChrW(50) & ChrW(47) & ChrW(49) '2/1
f3 = ChrW(51) & ChrW(47) & ChrW(49) ' 49 هو حرف رقم(1)
f4 = ChrW(52) & ChrW(47) & ChrW(49) '47 هو الشرطة المائلة و 52 هو الرقم4  ثانية رابع
f13 = ChrW(53) & ChrW(47) & ChrW(51)
f5 = ChrW(49) & ChrW(47) & ChrW(50)
f6 = ChrW(50) & ChrW(47) & ChrW(50) 'الترتيب من اليسار لليمين
f7 = ChrW(51) & ChrW(47) & ChrW(50)
f8 = ChrW(52) & ChrW(47) & ChrW(50)
f9 = ChrW(49) & ChrW(47) & ChrW(51)
f10 = ChrW(50) & ChrW(47) & ChrW(51)
f11 = ChrW(51) & ChrW(47) & ChrW(51)
f12 = ChrW(52) & ChrW(47) & ChrW(51)

Me.Combo4.AddItem f1
Me.Combo4.AddItem f2
Me.Combo4.AddItem f3
Me.Combo4.AddItem f4
Me.Combo4.AddItem f5
Me.Combo4.AddItem f6
Me.Combo4.AddItem f7
Me.Combo4.AddItem f8
Me.Combo4.AddItem f9
Me.Combo4.AddItem f10
Me.Combo4.AddItem f11
Me.Combo4.AddItem f12
Me.Combo4.AddItem f13

End Sub

 

classess.png

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information