PDA

View Full Version : سوال: ادقام 2 جدول از ديتابيس هاي گوناگون



سوگند رها
دوشنبه 25 خرداد 1388, 11:10 صبح
با سلام
من مي خواهم بين 2 تا جدول از ديتابيس هاي مختلف كه داري فيلد يكساني هستند اطلاعاتي را استخراج كنم

جدول 1 داراي موارد زير با ديتابيس اكسس

كدشهر , كد شركت
11 , 106
21 , 106
11 , 101
24 , 106
24 , 101
38 , 101

جدول 2 با ديتابيس پرادوكس
كد شهر مبلغ تاريخ
11 , 2000 , 88/03/02
21 , 3000 , 02/03/88
11 , 2500 , 02/03/88
38 , 6000 , 03/02/88
21 , 500 , 02/03/88

حالا من جدولي كه با اطلاعات زير پر شده باشه مي خواهم ( محموع مبالغ شهرهايي كه در جدول 1 كدشركت برابر 106 بوده و در جدول 2 داراي تاريخ 02/03/88 باشند)
كد شهر مجموع مبالغ
11 , 4500
21 , 3500

من اينكار رو مي خواستم با دستور join انجام بدم ولي بخاطر تفاوت ديتابيس ها اينكار رو انجام نداد
با اينكه من بعد از نام جدول نام ديتابيس رو ذكر مي كردم

و حتي با دستور select جدولي از فيلد هاي دلخواه جدول 2 در بانك اكسس درست نمودم كه با خطاي زير مواجه شدم
"INVALID use of keyword token:select

merced
دوشنبه 25 خرداد 1388, 22:54 عصر
بانك اطلاعاتي اكسس استفاده مي كني .
بايد Table رو لينك كني. با اين روش شما جدول ديتابيس خارجي رو تو ديتابيس خودت داري و كاملا مثل يك table معمولي باهاش برخورد ميشه

سوگند رها
سه شنبه 26 خرداد 1388, 08:41 صبح
با تشكر از پاسختون
اينكار انجام مي شه ولي جدول پرادوكس من محل دقيقش معلوم نيست و كاربر در ابتداي نصب برنامه اونو تنظيم ميكنه
براي اين روش چه پيشنهادي داريد ؟
در ضمن يك نفر به من توصيه كرد وقتي مي خواهم 2 تا جدول رو با هم join كنم ابتدا تك تك ركوردهاي جدول پارادوكس رو توي يك جدول موقت كه در اكسس ساخته شده كپي كنم (انتقال )بدم آيا اين روش خوبي ؟؟
با توجه با تعداد و حجم زياد جدول پارادوكس (چيزي شبيه همون لينك )

در ضمن ايا روشي وجود داره كه با دستورات sql بتوان فهميد جدولي وجود دارد يا خير؟؟

merced
سه شنبه 26 خرداد 1388, 22:50 عصر
جدول پرادوكس من محل دقيقش معلوم نيست و كاربر در ابتداي نصب برنامه اونو تنظيم ميكنه
براي اين روش چه پيشنهادي داريد ؟

نميدونم.


يك نفر به من توصيه كرد وقتي مي خواهم 2 تا جدول رو با هم join كنم ابتدا تك تك ركوردهاي جدول پارادوكس رو توي يك جدول موقت كه در اكسس ساخته شده كپي كنم (انتقال )بدم آيا اين روش خوبي ؟؟
با توجه با تعداد و حجم زياد جدول پارادوكس (چيزي شبيه همون لينك )

وقتي چاره اي نباشه. بالاجبار اين كار رو مي كنيد.
من يه همچين موردي داشتم و حداقل 5 دقيقه انتقال اطلاعات طول مي كشيد و كاربرم رو توجيه كرده بودم كه مجبوري صبر كني.


در ضمن ايا روشي وجود داره كه با دستورات sql بتوان فهميد جدولي وجود دارد يا خير؟؟

كاننكشن و TableName رو تنظيم كن و جدول رو Open‌كن. اگه باز نشد و خطا داد پس وجود نداره. اين كار رو تو بدنه try..except انجام مي ديم.
اين كد هم ميتونه بهتر عمل كنه


ADOConnection1.GetTableNames(StringListVar, false);