Need_To_Know

تحويل البيانات من اكسيل الى اكسيس

25 ردود في هذا الموضوع

اخوانى الكرام اعضاء هذا المنتدى الجبار

ضيف جديد عليكم ودايخ السبع دوخات على هذا الموضوع

ازاى اقدر احول بيانات فى خليه ما فى ملف اكسيل الى قاعده بيانات على الاكسيس ؟

يعنى انقل البيانات التى فى A1 مثلا الى قاعده بيانات ؟

عن طريق الفيجوال بيسك اخوانى الكرام ضرورى جدا الله يكرمكم اخوانى

وشكرا لكم جهودكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اخوانى الكرام الا يوجد اى فكره لديكم عن هذه العمليه ؟ محتاج هذا الربط بصوره ضروريه او اذا كان اى عضوا عنده فكره تانيه فليتفضل بها هنا

وجزاكم الله خيرا اخوانى الكرام

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اخى الكريم أولا هل تعلم ADO ام لا إذا كنت تعلم فسوف أساعدك على حل مشكلتك وإذا لم تعلم فنبدأ بال ADO أولا

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
اخى الكريم أولا هل تعلم ADO ام لا إذا كنت تعلم فسوف أساعدك على حل مشكلتك وإذا لم تعلم فنبدأ بال ADO أولا

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

اولا جزاك الله خيرا اخى الغالى على ردك على

احب اقولك اننى اعرف ADO مع بعض SQL

منتظر شرحك اخى الغالى

و السلام عليكم ورحمه الله وبركاته

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

أولا اخى connection code الذي يقرأ الإكسيل هو

 ExlCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\vb_data.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';Persist Security Info=False"

وبعد ذلك تعمل Recordset وتسمية exlrec وتكتب الكود التالى

  exlrec .Open "select * from data1", ExlCon, adOpenStatic, adLockReadOnly

ملحوظة

يجب ان تسمى الجدول داخل الإكسيل بإسم data1

وهذا عن طريق تعلم على الجدول داخل الإكسيل ثم بعد ذلك Insert - name - define ثم تسمى هذه المنطقة بإسم data1

ثم انشا connection أخر للتعامل مع Access والكود كالتالى

  AccCon.Open "provider=microsoft.jet.oledb.4.0;data source=c:\DataAcs.mdb

recordset

 Accrec.Open "select * from data1", AccCon, adOpenDynamic, adLockOptimistic

جدول data1 فى الإكسيل يكون مطابق للجدول data1 فى الأكسيس

وبعد ذلك تنشأ Loop نقرأ فيه جدول data1 فى الإكسيل ونضع القراءة فى الجدول data1 الموجود بالأكسيس عن طريق Accrec.AddNew

وأى أسئلة أرسل لى وسنجد الحل إن شاء الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزاك الله خيرا اخى الغالى khaledanwar28

الحمد لله اخى الغالى قطعنا شوطا كبيرا ولم يبقى الا القليل انظر اخى الغالى هذا هو الكود

Dim cn As ADODB.Connection

Dim rs As ADODB.Recordset

Dim cnn As ADODB.Connection

Dim rss As ADODB.Recordset

Private Sub Form_Load()

Set cn = New ADODB.Connection

Set rs = New ADODB.Recordset

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=c:\Data.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';Persist Security Info=False"

rs.Open "SELECT * FROM [sheet1$] ", cn, adOpenDynamic, adLockOptimistic

Set cnn = New ADODB.Connection

Set rss = New ADODB.Recordset

cnn.Open "provider=microsoft.jet.oledb.4.0;data source=c:\DATA.mdb"

rss.Open "SELECT * FROM [1010] ", cnn, adOpenDynamic, adLockOptimistic

End Sub

اخى الغالى الكود هذا لفتح الملفين الاكسيل و الاكسيس و قد قمت بعمل كل ما اشرت اليه حضرتك

اذا فى اى شىء خطا فى الكود برجاء الاشاره اليها انا لسه مبيتدا

اخى الغالى الان اريد ان اجعل البرنامج ياخذ مثلا القيمه التى فى A1 مثلا فى ملف الاكسيل و يضعها فى قاعده البيانات

حضرتك اشرت الى ان استخدم ال Loop بس انا لا اعرف كيف استخدمها

اسف اخى الغالى عارف انى متقل عليك استحملنى اخى الغالى وباذن الله راح ادعوا لك

جزاك الله خيرا اخى الغالى

وشكرا على كل ما تفعله

منتظر اجابتك على احر من الجمر

و السلام عليكم ورحمه الله وبركاته

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم يا أخى العزيز

اولا : كود الconnection الذى يقرأ من الإكسيل لا بد أن يكون adOpenStatic

أى يكون كالتالى

rs.Open "select * FROM [sheet1$]", cn, adOpenStatic, adLockReadOnly

وليس

rs.Open "select * FROM [sheet1$]", cn, adOpenDynamic, adLockReadOnly

ويبقى كود الإضافة للأكسيس adOpenDynamic كما هو

ثانيا :

يستحسن أن تسمى الداتا الموجودة بالإكسيل كما قلت لك Insert - name - define لتسهيل التعامل معها

اما أخى عن اللوب يكون كالتالى :

			 rs.Open "select * FROM [Sheet1$]", cn, adOpenStatic, adLockReadOnly

rss.Open "SELECT * FROM [1010] ", cnn, adOpenDynamic, adLockOptimistic


For z = 1 To rs.RecordCount
rss![ID] = rs![ID]
rss![Name]= rs![Name]
rss![age] = rs![age]

rs.MoveNext

Next z

بهذا الشكل يتم قراءة كل سجل بالإكسيل ويضيفه الى الأكسيس

ملحوظة :

يجب أن يكون الجدول بالإكسيل مطابق تماما للجدول بالأكسيس حتى تتم الإضافة أى نفس أسماء وعدد العواميد

فى إنتظار أى إستفسار منك أخى الغالى جرب الكود ثم رد على

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

أسف أخى هناك خطأ فى الكود والتعديل كالآتى

	 rs.Open "select * FROM [Sheet1$]", cn, adOpenStatic, adLockReadOnly

rss.Open "SELECT * FROM [1010] ", cnn, adOpenDynamic, adLockOptimistic


For z = 1 To rs.RecordCount
rss.ِAddNew
rss![ID] = rs![ID]
rss![Name]= rs![Name]
rss![age] = rs![age]

rss.ِUpdate
rs.MoveNext

Next z

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزاك الله خيرا اخى الغالى سبق و ان رايت هذه المواضيع و لم تفدنى يالقدر الذى احتاجه جزاك الله خيرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
أسف أخى هناك خطأ فى الكود والتعديل كالآتى

	 rs.Open "select * FROM [Sheet1$]", cn, adOpenStatic, adLockReadOnly

rss.Open "SELECT * FROM [1010] ", cnn, adOpenDynamic, adLockOptimistic


For z = 1 To rs.RecordCount
rss.ِAddNew
rss![ID] = rs![ID]
rss![Name]= rs![Name]
rss![age] = rs![age]

rss.ِUpdate 
rs.MoveNext

Next z

جزاك الله خيرا اخى الغالى على مساعدتك لى

اخى الغالى هناك اسئله وقفه معى

شوف اخى الغالى انت قلت ان الجدول فى الاكسيل لازم يكون ذى الجدول فى الاكسيس الاسماء لازم تكون متطابقه ووو

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

تحتوى على همود واحد فقط فقط بمعنى

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

يعنى مثلا قاغده البيانات التى اسمعها Name تاخد الفيمه الموجوده فى الحقل A1 مثلا فى ملف الاكسيل

شوف الصور دى اخى الغالى

accesswv7.jpg

دى قاعده البيانات على الاكسيس

excelom1.jpg

دى ورقه الاكسيل فيها كلام كتير

عاوز اخد الاسماء التى فى A1 فى الاكسيل الى A فى الاكسيس و اذا جربت الكود اللى حضرتك بعته يعطينى رساله خطا هذه هى صورتها

errorjf2.jpg

اخى الغالى اسف كتير على كثره الاسئله و جزاك الله عنى خيرا

اخى الغالى اذا اردت ان ارسل لك السورس كود لتعديله فانا مستعد و جزاك الله خيرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

نعم اخى

انا فى انتظار السورس كود لتعديله وإن شاء الله أقدر أساعدك

وبالنسبة لمطابقة الإكسيل مع الأكسيس أنا معك ليس شرط المطابقة ولكن راعى ماذا تريد أن تقرأ من الإكسيل وماذا تريد أن تضيف الى الأكسيس

وراعى عناوين العواميد

وبالتوفيق أخى إن شاء الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اخى الغالى لقد ارفقت لك سورس كود و منتظر تعديل حضرتك عليه فى اقرب وقت

جزاك الله خيرا اخى الفاضل

و السلام عليكم و رحمه الله وبركاته

____________.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
يوجد مثال في المرفقات بطريقة اخرى لنقل البيانات

ولمزيد من المعلومات عن الأكسل ادخل هذا الموقع

http://www.erlandsendata.no/english/

جزاك الله خيرا اخى الغالى على الموقع و السورس كود

و لكنى لم استطيع ان انقل قيمه خليه من الاكسيل الى الاكسيس بمعنى اننى مفهمتش الطريقه باذن الله احاول معها

حزاك الله خيرا اخى الفاضل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اخى khaledanwar28

هل يمكنك اعطائى عنوانك الالكنرونى للتواصل عليه ؟

و شكرا

تم تعديل بواسطه Need_To_Know
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اخى khaledanwar28

انا منتظر حضرتك اذا مفيش حل برجاء اعلامى فقط

و جزاك الله خيرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

انا أسف جدا أخى على التاخير لإنى سافرت فجأة فى مهمة عمل

وللمرة الثانية أسف جدا

إذا سمحت يمكن ان ترسل الملف مرة أخرى ولكن مضغوط ببرنامج Win Zip لان الجهاز الذى أعمل عليه لا يوجد به برنامج Win Rar

فإذا استطعت ان ترسله لى بهذا الإمتداد أكون شاكر جدا لك لكى أحل لك المشكلة إن شاء الله

اعتزر أخى مرة أخرى على التأخير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
انا أسف جدا أخى على التاخير لإنى سافرت فجأة فى مهمة عمل

وللمرة الثانية أسف جدا

إذا سمحت يمكن ان ترسل الملف مرة أخرى ولكن مضغوط ببرنامج Win Zip لان الجهاز الذى أعمل عليه لا يوجد به برنامج Win Rar

فإذا استطعت ان ترسله لى بهذا الإمتداد أكون شاكر جدا لك لكى أحل لك المشكلة إن شاء الله

اعتزر أخى مرة أخرى على التأخير

اخى الغالى لقد ارفقت لك المثال بالصيغه التى تريدها

جزاك الله خيرا اخى الغالى

اذا امكن عنوان بريدك الالكترونى و جزاك الله خيرا

و السلام عليكم ورحمه الله وبركاته

____________.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

أخى العزيز

اسف مرة أخرى على التأخير والله ظروف العمل

اليك ملف رفعته لك ولكن كود الفجوال بيسك بداخل ملف الإكسيل وهو تماما مثل vb6

مجرد الضغط على command الموجود داخل صفحة الإكسيل سوف يفتح لك الكود الذى قام بعملية نقل البيانات

يجب وضع الملفات داخل " c " لكى تحافظ على مسارات البرنامج

أنا أيضا كتبت لك الكود داخل notepad

بالنسبة للجدول الموجود بالإكسيل علمت على كل خلايا الأكسيل الموجودة بالجدول ثم أعطيتها إسم وهو إسم الجدول

أى مشكلة إرسل لى وإن شاء الله لا يوجد مشاكل

Vb_from_excell.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزاك الله خيرا اخى الغالى وبالفعل البرنامج ناجح 100 فى 100

اخى الغالى عندى سؤال

حضرتك عملت نقل لجميع البيانات ولكننى اريد نقل البيانات التى فى خليه واحده فقط مثلا

ان انقل A1 بمفردها فى قاعده بيانات ثم A2 فى قاعده بيانات اخرى وهكذا

فماذا يجب ان افعل ؟ لاننى حاولت ان اعيدالتسميه ولكن برنامج الفى بى يظهر رساله خطا معناها ان الاسم غير موجود فى التجميعه

وجزاك الله خيرا اخى الغالى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

أخى العزيز

أريد ان أفهم ما شكل المشروع الذت تود عمله

لإنى لا أفهم لماذا تريد ان تتعامل مع كل خلية على حدى

هناك كذا طريقة للحل

أولا : هل فهمت الكود الذى أرسلته لك وهل قمت بتطبيقه

ثانيا : ممكن ان تكتب أكواد من داخل الإكسيل نفسه كما فعلت انا بالكود الذى أرسلته لك وتتعامل مع كل خلية بالكود التالى

					 Sheet1.Range("A1").Value

وبهذه الطريقة تقرأ كل خلية بالإكسيل ولكن هذا الكود لا بد أن يكتب بداخل الإكسيل

" ملحوظة " هذا الكود على سبيل المثال

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

وبالتوفيق إن شاء الله

;)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزاك الله خيرا اخى الغالى على الرد

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

ثانيا انا عاوز ابعد عن ملف الاكسيل يغنى عاوز الامر يتم من داخل الفى بى فقط بدون الاكسيل يعنى الاكسيل اخذ منه و لا اكتب فيه اكواد

ثالثا اخى الغالى و هو المهم ان انا عندى بالفعل كذا كود يتعامل و يسحب البيانات بالشكل الذى اريده اى انه ياخذ البيانات من خليه فقط

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

معى تتعامل من داخل الفى بى و ليس الاكسيل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اخى العزيز

على فكرة أنا كتبت الكود بداخل الإكسيل لإننى لا يوجد عندى برنامج VB6 كنت مبرمج VB6 والأن انا بعمل بال DotNet

ولكن إذا أخذت الكود Copy - Past داخل vb سوف تظهر لك نفس النتيجة بس أهم شئ أن تراعى مسارات الملفات ( ملف الإكسيل والاكسيس )

وإعلم أن الكود الذى يعمل بداخل Vb Excell يعمل بداخل 6 VB Studio

اى ان هذا هو الكود الذى ينقل البيانات من الإكسيل الى الأكسيس مع إختلاف موقع Vb

وأى إستفسارات أخرى إرسل لى

وبالتوفيق إن شاء الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .