الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

شاشة تقراء بيانات من Ms Excel الى جدول قاعدة بيانات أو الى بلوك في الشاشة مباشرة

Featured Replies

بتاريخ:

السلام عليكم

 

تم تعديل الحقول من حروف إلى أرقام و تم إدخالها على الجدول 

 

شكرا لمجهودكم على هذه الشاشة الرائعة

 

 

  • الردود 75
  • المشاهدات 18.4k
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

Most Popular Posts

  • طبعا مكونات المرفقات : 1 . شاشة ديفلوبر 6I اسمها MEEH_EXCEL_TO_TABLE 2.ملفين EXCEL فيهما البانات التي تقرءه الشاشة باصدارين مختلفين اسمهما Meeh_Excel.XLSX باصدار 2007 وملف Aden_Excel.XLS باصدار 97-2

  • العفو اخي الفاضل Esalm Mrwan ولا شكر على واجب وشكرا لمرورك الكريم بالتسب لاخي الحبيب المثال One Way اي انه فكرته جاي من الاكسل لشاشة الديفلوبر او الى قاعدة البيانات ومؤشرها ورقة العمل في المصنف اكسل ح

  • الشكر لله اخي aliseliman132 والحمد لله انه المثال اشتغل معاك لكي تستفيد من فكرته

الصور المنشورة

بتاريخ:

 

الشكر لله اخي aliseliman132 والحمد لله انه المثال اشتغل معاك لكي تستفيد من فكرته

الحمد لله الفكره اشتغلت معى

ولكن كل اعمدة الجدول varchar2 نصى

هل يمكن ادخال على اعمدة من النوع number

 

السلام عليكم 

يتم اضافة TO_NUMBER إلى الحقول المراد إدخالها على الجدول فى قيم VALUES الخاصة بالـ INSERT INTO TABLE 

  • بعد 3 أسابيع...
بتاريخ:

ملاحظة في نظام التشغيل 64 بت يجب تحديد مسار الاوفس وإلا لن يظهر البيانات المسار C:\Program Files(86)\Microsoft Office\Office14

 

وفي نظام 32 بت نحدد المسار C:\Program Files\Microsoft Office\Office14

 

 

مشكور اشتاذ مهيال

بتاريخ:

مثال يقرا من excel   الى شاشة    10g

الشاشة block عليه 3  اعمدة cust_name    namme   cust_code

ده الكود اللى على الزرار

  DECLARE
  CONVID PLS_INTEGER;
  APPID  PLS_INTEGER;
  i number;
  x number;
  v_name VARCHAR2(150);
  v_namee   varchar2(100);
  v_code   varchar2(10);
  v_qty   varchar2(10);
  X1  NUMBER;
Y1  NUMBER:=0;
Y2  NUMBER:=0;
Y3  NUMBER:=0;
V  ITEM;
z number;
  
  OUT_FILR  TEXT_IO.FILE_TYPE;
  BEGIN
   z:=:SYSTEM.CURSOR_RECORD;




LAST_RECORD;
X1:=:SYSTEM.CURSOR_RECORD;
FIRST_RECORD;


   synchronize;


   Appid := dde.app_begin('C:\Program Files\Microsoft Office\OFFICE11\excel.exe D:\TEST1.xls',dde.app_mode_minimized);


  dde.app_focus(appid);
  convid := dde.initiate('EXCEL','TEST1.xls');


  x := 0;
  
    FOR I IN 2..100000 loop
   dde.request(convid,'R' || to_char(i) ||'C1',v_name,dde.cf_text,100000);   
   dde.request(convid,'R' || to_char(i) ||'C2',v_namee,dde.cf_text,100000);
   dde.request(convid,'R' || to_char(i) ||'C3',v_code,dde.cf_text,100000);          
    if substr(v_NAME,1,length(v_NAME)-2) is null then exit;
    end if;
   


  :CUST.CUST_NAME:=substr(v_NAME,1,length(v_NAME)-2);
  :CUST.NAMEE:=substr(v_namee,1,length(v_namee)-2);  
  :CUST.CUST_CODE:=to_number(substr(v_code,1,length(v_code)-2));


    x:= x + 1;    
    DOWN ;    
  end loop;


  dde.terminate(convid);
  dde.app_end(appid);
  END;
  • بعد 5 شهور...
بتاريخ:

شكرا جزيلا مهندس ميهال

 

فعلا موضوع اكثر من رائع

 

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

بتاريخ:

بارك الله فيك

  • بعد 2 أسابيع...
بتاريخ:
  • كاتب الموضوع

هذا م أصقده بالمسار في المشاركة رقم 36 لنفس الموضوع

post-47913-0-68875500-1462739631.png

أخواني الافاضل انا المسار عندي كما في الصورة

والسبب اني مستخدم طريقة الموضوع اللي بالرابط أدناه

هل تعاني من مشكلة الاقواس في المسار C:\program Files (x86)

http://www.araboug.org/ib/index.php?showtopic=57597

  • بعد 6 شهور...
بتاريخ:

بارك الله فيك

بتاريخ:

الفورم لا يظهر به مشاكل ولااااااااااااكن عند الضغط علي زر استعراض لا يظهر مربع الاختيار وبذلك لا استطيع ان اعمل اي شيء

بتاريخ:

للعلم انا اعمل علي اوراكل

11G

  • بعد 3 شهور...
بتاريخ:

ظهر لى يرجى الانتظار ولاشئ اخر ماهى المشكله لا اعرف ولايوجد اى error

بتاريخ:
  • كاتب الموضوع

ظهر لى يرجى الانتظار ولاشئ اخر ماهى المشكله لا اعرف ولايوجد اى error

اخي العزيز هل مسار برنامج الاكسيل غيرته لما يتطابق في جهازك

بتاريخ:

 

مثال يقرا من excel   الى شاشة    10g

الشاشة block عليه 3  اعمدة cust_name    namme   cust_code

ده الكود اللى على الزرار

  DECLARE
  CONVID PLS_INTEGER;
  APPID  PLS_INTEGER;
  i number;
  x number;
  v_name VARCHAR2(150);
  v_namee   varchar2(100);
  v_code   varchar2(10);
  v_qty   varchar2(10);
  X1  NUMBER;
Y1  NUMBER:=0;
Y2  NUMBER:=0;
Y3  NUMBER:=0;
V  ITEM;
z number;
  
  OUT_FILR  TEXT_IO.FILE_TYPE;
  BEGIN
   z:=:SYSTEM.CURSOR_RECORD;




LAST_RECORD;
X1:=:SYSTEM.CURSOR_RECORD;
FIRST_RECORD;


   synchronize;


   Appid := dde.app_begin('C:\Program Files\Microsoft Office\OFFICE11\excel.exe D:\TEST1.xls',dde.app_mode_minimized);


  dde.app_focus(appid);
  convid := dde.initiate('EXCEL','TEST1.xls');


  x := 0;
  
    FOR I IN 2..100000 loop
   dde.request(convid,'R' || to_char(i) ||'C1',v_name,dde.cf_text,100000);   
   dde.request(convid,'R' || to_char(i) ||'C2',v_namee,dde.cf_text,100000);
   dde.request(convid,'R' || to_char(i) ||'C3',v_code,dde.cf_text,100000);          
    if substr(v_NAME,1,length(v_NAME)-2) is null then exit;
    end if;
   


  :CUST.CUST_NAME:=substr(v_NAME,1,length(v_NAME)-2);
  :CUST.NAMEE:=substr(v_namee,1,length(v_namee)-2);  
  :CUST.CUST_CODE:=to_number(substr(v_code,1,length(v_code)-2));


    x:= x + 1;    
    DOWN ;    
  end loop;


  dde.terminate(convid);
  dde.app_end(appid);
  END;

lممكن توضيح اكثر بالفورم

  • بعد 3 أسابيع...
بتاريخ:

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

بتاريخ:

ممتاز و استفدت من المثال و لكن لدي بعض المشاكل في جدولي الخاص بالقاعدة الاي صممتها و هي :

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

● سؤالي كيف استورد النص كما هو بدون فراغات ؟
و شكرا لك و لأعضاء الجروب و جعل الله هذه المعلومات في ميزان حسناتكم

بتاريخ:
  • كاتب الموضوع

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

بتاريخ:
  • كاتب الموضوع

طرئ في مخيلتي شيئ.. حاول تخلي خطوط جدول الاكسيل نوع الخط من الانواع الاستاندرد يمكن يبعد لك الفراغات

بتاريخ:

بالفعل المثال يعمل معي بشكل صحيح كانت المشكلة في الحقل النصي اني لم استخدم دالة حساب طول الكلمة شكرا اخي المبدع ميهال
و لكن سؤالي هل من الممكن استيراد نفس ملف الاكسل الى أوراكل و لكن ملف الاكسل محفوظ بكلمة مرور لاني استخدم ملف الاكسل في نقل البيانات(تصديرها) من قاعدة بيانات اكسس الى اوراكل و يتم تصدير الملف بكلمة مرور و اريد استيرادها الى اوراكل عبر الاكسل و لكن و هو محمى بكلمة مرور لكي لا يتم العبث بالبيانات لانه يتم جمع البيانات في عدة مناطق نائيه و بعيده عبر اكسس ؟
و اكون شاكر جهودكم في حل هذه المشكلة لدي

بتاريخ:

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

  • بعد 4 أسابيع...
بتاريخ:

اخي ميهال 
حاولت اعمل UPDATE بدل ال insert  بس ماحصل اي تغير !
هل ممكن عمل تحديث للبيانات من الاكسل بهذه الطريقه؟

طبعا بإفتراض وجود بيانات مسبقا في الجدول

	FOR I IN 2..100000 loop
		dde.request(EXCEL_ID,'R' || to_char(i) ||'C1',meeh_no  ,dde.cf_text,100000);		
		dde.request(EXCEL_ID,'R' || to_char(i) ||'C2',meeh_name,dde.cf_text,100000);
		dde.request(EXCEL_ID,'R' || to_char(i) ||'C3',meeh_sal,dde.cf_text,100000);
	
		if    substr(meeh_no  ,1,length(meeh_no)-2)    is null then exit;
		end if;
	  	  
	/*	insert into EXCEL_TAB (EXCEL_COLM1,EXCEL_COLM2,EXCEL_COLM3)
		values(substr(meeh_no,1,length(meeh_no)-2),
					 substr(meeh_name,1,11),
					 to_number(substr(meeh_sal,1,length(meeh_sal)-2))
					);*/
				update EXCEL_TAB set EXCEL_COLM2=meeh_name where EXCEL_COLM1=meeh_no;
		x:= x + 1; 
		end loop;

تم تعديل بواسطة khaled zid

  • بعد 3 أسابيع...
بتاريخ:

 

اخي ميهال

حاولت اعمل UPDATE بدل ال insert بس ماحصل اي تغير !

هل ممكن عمل تحديث للبيانات من الاكسل بهذه الطريقه؟

طبعا بإفتراض وجود بيانات مسبقا في الجدول

	FOR I IN 2..100000 loop
		dde.request(EXCEL_ID,'R' || to_char(i) ||'C1',meeh_no  ,dde.cf_text,100000);		
		dde.request(EXCEL_ID,'R' || to_char(i) ||'C2',meeh_name,dde.cf_text,100000);
		dde.request(EXCEL_ID,'R' || to_char(i) ||'C3',meeh_sal,dde.cf_text,100000);
	
		if    substr(meeh_no  ,1,length(meeh_no)-2)    is null then exit;
		end if;
	  	  
	/*	insert into EXCEL_TAB (EXCEL_COLM1,EXCEL_COLM2,EXCEL_COLM3)
		values(substr(meeh_no,1,length(meeh_no)-2),
					 substr(meeh_name,1,11),
					 to_number(substr(meeh_sal,1,length(meeh_sal)-2))
					);*/
				update EXCEL_TAB set EXCEL_COLM2=meeh_name where EXCEL_COLM1=meeh_no;
		x:= x + 1; 
		end loop;
بتاريخ:

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

  • بعد 2 شهور...
بتاريخ:

اخي جزاك الله خيرا ولكن لماذا لايمكن تحميل الملف المرفق هل تعرف ماهي المشكلة 

 

  • بعد 3 شهور...
بتاريخ:

استاذ انا حملت الفورم و نزلت الجداول المرفقة ولكن البرنامج لم يقوم بعرض اي شئ مع العلم انا اعمل لى اصدار اوفيس 2010 هل له علاقة و الفورم 6i تعمل بشكل طبيعي بدون اي اخطاء عند التنفيذ ولكن بدون نتيجة جزاك الله خيرا

  • بعد 1 سنة...
بتاريخ:

اخوي الفاضل تم عمل جميع الخطوات

وفتح الملف بس مانقل البيانات الى الشاشة والى الجدول 

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

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

برجاء الإنتباه

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.