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

تحويل فقرة لكلمات برقم الكود


girl

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

السلام عليكم

هل من الممكن تحويل فقرات كاملة في حقل إلى جدول جديد بعد تقطيع الكلمات مع الاحتفاظ بالكود

مثال

قبل

id

text

2

تم توقيع الكشف المبدءي على المريضة ويوصى بعمل فحصوات جديدة عليها .. توقيع الطبيبة

6

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

بعد

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

 

 

 

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

وعليكم السلام:smile:

 

اللي شايفه ان المطلوب هو الكلمات اللي بينها مسافة ،

لهذا نستطيع استعمال الدالة Split هكذا مثلا:

dim x() as string

x=split(me.text," ")
for i=lbound(x) to ubound(x)
msgbox x(i) & " - " & me.id
next i

جعفر

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

تفضلي:smile:

هذا الكود


Private Sub cmd_Split_Click()

    Dim x() As String
    Dim rstFrom As DAO.Recordset
    Dim rstTo As DAO.Recordset
    
    'busy hour glass ON
    DoCmd.Hourglass True
    
    'set both tables for In/Out data
    Set rstFrom = CurrentDb.OpenRecordset("Select * From Table1")
    Set rstTo = CurrentDb.OpenRecordset("Select * From Table2")
    
    'clear Table2
    CurrentDb.Execute ("Delete * From Table2")
    
    'move the cursor to the first Record
    rstFrom.MoveLast: rstFrom.MoveFirst
    rcFrom = rstFrom.RecordCount    'count the records

    'read all the records, one at a time
    For iFrom = 1 To rcFrom
    
        'split the required field, based on empty spaces
        x = Split(rstFrom!Field1, " ")
        'iterate through these splited words
        For i = LBound(x) To UBound(x)
            'add them to the second table, and update the record
            rstTo.AddNew
            rstTo!code = rstFrom!ID
            rstTo!word = x(i)
            rstTo.Update
        Next i
    
        'move to the next record
        rstFrom.MoveNext
    Next iFrom
    
    'busy hour glass OFF
    DoCmd.Hourglass False
    
    'clearing the memory
    rstFrom.Close: Set rstFrom = Nothing
    rstTo.Close: Set rstTo = Nothing
    
End Sub

.

والنتيجة

463.Clipboard01.jpg

.

جعفر

463.index.mdb.zip

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

الان, jjafferr said:

تفضلي:smile:

هذا الكود



Private Sub cmd_Split_Click()

    Dim x() As String
    Dim rstFrom As DAO.Recordset
    Dim rstTo As DAO.Recordset
    
    'busy hour glass ON
    DoCmd.Hourglass True
    
    'set both tables for In/Out data
    Set rstFrom = CurrentDb.OpenRecordset("Select * From Table1")
    Set rstTo = CurrentDb.OpenRecordset("Select * From Table2")
    
    'clear Table2
    CurrentDb.Execute ("Delete * From Table2")
    
    'move the cursor to the first Record
    rstFrom.MoveLast: rstFrom.MoveFirst
    rcFrom = rstFrom.RecordCount    'count the records

    'read all the records, one at a time
    For iFrom = 1 To rcFrom
    
        'split the required field, based on empty spaces
        x = Split(rstFrom!Field1, " ")
        'iterate through these splited words
        For i = LBound(x) To UBound(x)
            'add them to the second table, and update the record
            rstTo.AddNew
            rstTo!code = rstFrom!ID
            rstTo!word = x(i)
            rstTo.Update
        Next i
    
        'move to the next record
        rstFrom.MoveNext
    Next iFrom
    
    'busy hour glass OFF
    DoCmd.Hourglass False
    
    'clearing the memory
    rstFrom.Close: Set rstFrom = Nothing
    rstTo.Close: Set rstTo = Nothing
    
End Sub

.

والنتيجة

463.Clipboard01.jpg

.

جعفر

463.index.mdb.zip

الاستاذ الفنان جعفر :rol:

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

اضافة الي كلام اخي ابا جودي

هو استاذ - فنان - عبقري - خبرة - سااااااحر  ........... الخ

ماشاء الله ربنا يبارك فيه و يجازيه عنا كل خير..

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

وعليكم السلام :smile:

 

عفوا اختي ، ولكن اريد منك تفصيل اكثر لوسمحتي ، مثلا:

1. نحن لا نتكلن عن تحديث سجلات ، وانما عمل سجلات جديدة ، صح؟

2. هل تريدين سجلات جديدة للجدول بالكامل؟

  • أ- هذا معناه حذف السجلات السابقة ، والعمل على سجلات جديدة مرة اخرى ،
  • ب- هذا معناه ان البرنامج سيأخذ وقت اطول كلما زادت عدد السجلات.

3. واذا كانت هناك سجلات تم العمل عليها سابقا ، فهل تريدين العمل عليها مرة اخرى:

  • أ- في بعض الاوقات الكود يعطينا نتائج غير متوقعة ، مثل السجل الاول الفاضي في الصورة التي ارفقتها ، وهي بسبب ان الجملة اصلا فيها مسافة فاضية ،
  • ب- فعند التدقيق ، قد تحذفين هذا السجل يدويا ، ولكن قد لا تصلحين مكان الخطأ في الجملة ،
  • ج- فهل تريدين الابقاء عليها؟

 

ورجاء اعطاء اي بيانات اخرى عن المشروع ، حتى لا نقوم بالعمل مرار:smile:

 

جعفر

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

1 دقيقه مضت, jjafferr said:

وعليكم السلام :smile:

 

عفوا اختي ، ولكن اريد منك تفصيل اكثر لوسمحتي ، مثلا:

1. نحن لا نتكلن عن تحديث سجلات ، وانما عمل سجلات جديدة ، صح؟

صح ...  والجدول رقم 2 هو غير موجود بالاصل كان مضاف في المثال لإيضاح النتيجة المطلوبة ، محتاجة مكانه استعلام تحديد، وده هيحل مشاكل النقاط الأخرى... فهل هو ممكن ؟.

2. هل تريدين سجلات جديدة للجدول بالكامل؟

  • أ- هذا معناه حذف السجلات السابقة ، والعمل على سجلات جديدة مرة اخرى ،
  • ب- هذا معناه ان البرنامج سيأخذ وقت اطول كلما زادت عدد السجلات.

3. واذا كانت هناك سجلات تم العمل عليها سابقا ، فهل تريدين العمل عليها مرة اخرى:

  • أ- في بعض الاوقات الكود يعطينا نتائج غير متوقعة ، مثل السجل الاول الفاضي في الصورة التي ارفقتها ، وهي بسبب ان الجملة اصلا فيها مسافة فاضية ،
  • ب- فعند التدقيق ، قد تحذفين هذا السجل يدويا ، ولكن قد لا تصلحين مكان الخطأ في الجملة ،
  • ج- فهل تريدين الابقاء عليها؟

 

ورجاء اعطاء اي بيانات اخرى عن المشروع ، حتى لا نقوم بالعمل مرار:smile:

 

جعفر

 

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

تفضلي:smile:

 

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


Function Split_Click(Letters, Record_ID)

    Dim x() As String
'    Dim rstFrom As DAO.Recordset
    Dim rstTo As DAO.Recordset
    
    'busy hour glass ON
'    DoCmd.Hourglass True
    
    'set both tables for In/Out data
'    Set rstFrom = CurrentDb.OpenRecordset("Select * From Table1")
    Set rstTo = CurrentDb.OpenRecordset("Select * From Table2")
    
    'clear the Record number sent from Table2, so that we start again
    CurrentDb.Execute ("Delete * From Table2 Where [code]='" & Record_ID & "'")
    
    'move the cursor to the first Record
'    rstFrom.MoveLast: rstFrom.MoveFirst
'    rcFrom = rstFrom.RecordCount    'count the records

    'read all the records, one at a time
'    For iFrom = 1 To rcFrom
    
        'split the required field, based on empty spaces
        x = Split(Letters, " ")
        'iterate through these splited words
        For i = LBound(x) To UBound(x)
            'add them to the second table, and update the record
            rstTo.AddNew
            rstTo!code = Record_ID
            rstTo!word = x(i)
            rstTo.Update
        Next i
    
        'move to the next record
'        rstFrom.MoveNext
'    Next iFrom
    
    'busy hour glass OFF
'    DoCmd.Hourglass False
    
    'clearing the memory
'    rstFrom.Close: Set rstFrom = Nothing
    rstTo.Close: Set rstTo = Nothing
    
End Function

.

تم اضافة حقل جديد في الجدول Table1 ، حتى تختارين السجلات التي تريدين تفكيك كلماتها ،

واستخدام هذا الحقل كشرط في الاستعلام:

463.1.Clipboard01.jpg

.

جعفر

463.1.index.mdb.zip

وهذا الرابط به شرح من اخونا العود ابوخليل

 

 

جعفر

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

والله يا اختي حيّرتيني:blink:

 

طلبك كان:

في 11/30/2016 at 14:20, girl said:

هل من الممكن تحويل فقرات كاملة في حقل إلى جدول جديد بعد تقطيع الكلمات مع الاحتفاظ بالكود

.

وعلشان نقطع الشك باليقين ، طلبت منك قاعدة بياناتك ، وبالطريقة اللي تريدين الاجابة

23 ساعات مضت, jjafferr said:

لوسمحتي ترفقي قاعدة بياناتك ، وبها الجداول المطلوبة ، وتخبرينا اين تريدين الحفظ:smile:

.

وجوابك كان ، وبدون توضيح

21 ساعات مضت, girl said:

.

وبعدها طلبتي

6 ساعات مضت, girl said:

ممكن يتعمل كاستعلام تحديث بدل الشكل الحالي عشان اعرف اتعامل معاه

.

والآن تريدين

48 دقائق مضت, girl said:

أريد الغاء جدول2 تماما واريد النتيجة في استعلام تحديد فقط ، هل هذا ممكن ؟

.

لوسمحتي تفكرين في الموضوع مرة اخرى ، وتوصلين الى طريقة معينة في حفظ السجلات ، وتخبرينا بالتفصيل ، وعليه ان شاء الله نحاول الوصول الى النتيجة المطلوية:smile:

 

جعفر

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

جهد مشكور وتعبتك معايا

بالفعل اللي حضرتك عملته هو المطلوب بس مش بالشكل اللي كنت عايزاه

دلوقت الملف المرفق انا عايزه اقطع كلماته في استعلام تحديد فقط

اتمنى أكون وضحت المطلوب وشكرا ليك مرة تانية

463.1.index.rar

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

اختي ، الشئ الوحيد في المرفق هو الجدول1 ، ولم توضحي اين تريدين نتائج التقطيع!!

والاكسس ليس مثل الاكسل ، فالاكسس محتاج يحفظ بياناته في مكان ، والاستعلام مجرد وسيله لفك الكلمات ، ولكنه ليس مكان الحفظ!!

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

منذ ساعه, jjafferr said:

اختي ، الشئ الوحيد في المرفق هو الجدول1 ، ولم توضحي اين تريدين نتائج التقطيع!!

والاكسس ليس مثل الاكسل ، فالاكسس محتاج يحفظ بياناته في مكان ، والاستعلام مجرد وسيله لفك الكلمات ، ولكنه ليس مكان الحفظ!!

بالفعل مطلوب فك الكلمات في استعلام تحديد وليس للحفظ  ...

تعبتك معايا معلش

ان شاء الله يوم الاحد أكمل التاسك اللي بعمله لما انزل الشغل واكيد حضرتك هتكون عملته

شكرا ليك مرة اخرى ... واسفة للازعاج

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

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

يعني الجداول المتوقعة :

1- قاموس مفردات إنجليزية مصنف (متوفر).

2- مجموعة من الفقرات والجمل (متوفر)

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

فكانت الفكرة الاولية هي تحويل هذه النصوص والفقرات إلى كلمات مفردة ، ليمكن مقابلتها مع كلمات مفردات القاموس ... كمرحلة أولى

ثم تحليل النتائج كمرحلة ثانية

هذا هو الموضوع.

 

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

شكرا على الايضاح اختي:smile:

في 12/1/2016 at 17:31, girl said:

بالفعل مطلوب فك الكلمات في استعلام تحديد وليس للحفظ  ...

للأسف لا يمكن هذا بدون حفظ البيانات ولو في جدول مؤقت ،

او تصدير البيانات الى ملف txt مثلا ، او حتى csv بحث يتم قراءته بالاكسل.

 

جعفر

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

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