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

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


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

مرسل لكم كود يقوم بعمل استعلام تمرير لسيكوال سيرفر
المطلوب تعديل بحيث qdf.connect = قيمة متغيرة فى مربع نص وليس قيمة ثابتة
بحيث يمكننى تغيير بيانات السيرفر وقاعدة البيانات من خلال مربع نص فى نموذج

Sub Test_PassThroughQuery()
    Dim qdf As DAO.QueryDef, rst As DAO.Recordset
    Set qdf = CurrentDb.CreateQueryDef("MyPassthroughQuery")
    qdf.Connect = "ODBC;DSN=database_name;UID=username;PWD=password;DBQ=ADPR;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;MLD=0;ODA=F;"
    qdf.SQL = "SELECT * FROM DATE_TABLE"
    qdf.ReturnsRecords = True
    DoCmd.OpenQuery "MyPassthroughQuery"
End Sub

ولكم جزيل الشكر وفى انتظار ردكم

 

تم تعديل بواسطه jjafferr
لتنسيق الكود: استعمل <> القائمة ، ووضع الكود في نافذته
رابط هذا التعليق
شارك

  • jjafferr changed the title to تعديل على كود يقوم بعمل استعلام تمرير لسيكوال سيرفر

تفضل:

'strConnectionString="ODBC;DSN=database_name;UID=username;PWD=password;DBQ=ADPR;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;MLD=0;ODA=F;"		

'التحكم في جميع المتغيرات
	Dim strConnectionString As String

	strConnectionString="ODBC;DSN=" & Me.database_name & ";" & _
		"UID=" & Me.username & ";" & _
		"PWD=" & Me.password & ";" & _
		"DBQ=" & Me.ADPR & ";" & _
		"DBA=" & Me.W1 & ";" & _
		"APA=" & Me.T1 & ";" & _
		"EXC=" & Me.F1 & ";" & _
		"FEN=" & Me.T2 & ";" & _
		"QTO=" & Me.T3 & ";" & _
		"FRC=" & Me.Ten1 & ";" & _
		"FDL=" & Me.Ten2 & ";" & _
		"LOB=" & Me.T4 & ";" & _
		"RST=" & Me.T5 & ";" & _
		"BTD=" & Me.F2 & ";" & _
		"BNF=" & Me.F3 & ";" & _
		"BAM=" & Me.IfAllSuccessful & ";" & _
		"NUM=" & Me.NLS & ";" & _
		"DPM=" & Me.F4 & ";" & _
		"MTS=" & Me.T6 & ";" & _
		"MDI=" & Me.F5 & ";" & _
		"CSR=" & Me.F6 & ";" & _
		"FWC=" & Me.F7 & ";" & _
		"FBS=" & Me.64000 & ";" & _
		"TLO=" & Me.O1 & ";" & _
		"MLD=" & Me.Zero1 & ";" & _
		"ODA=" & Me.F8 & ";"
  
  
  'او التحكم في اسم السيرفر واليوزر وكلمة السر
  
	strConnectionString="ODBC;DSN=" & Me.database_name & ";" & _
		"UID=" & Me.username & ";" & _
		"PWD=" & Me.password & ";" & _
		"DBQ=ADPR;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;MLD=0;ODA=F;"

 

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

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

سؤال هل يجب ان اضع 

strConnectionString

بين الاكواد التى ارسلتها برجاء التوضيح كيف سيتم ترتيب الكود واين سأضع هذا التعديل فى انتظار ردكم 

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

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

photo.png

وهذا الكود الذى تم استعماله

 

Dim qdf As DAO.QueryDef, rst As DAO.Recordset
    Set qdf = CurrentDb.CreateQueryDef("f11")
    qdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=" & Me.server_name & ";" & "UID=" & Me.user_name & ";" & Trusted_Connection = no & "DATABASE=" & Me.database_name & ";"""
    qdf.SQL = "INSERT INTO كشف_الحساب ( رقم_فاتورة_المسحوبات, رقم_الحساب, التاريخ, اولوية_التسلسل, قيمة_الفاتورة )  SELECT بنود_الفاتورة.رقم_الفاتورة     ,الفاتورة.رقم_حساب_العميل     ,الفاتورة.تاريخ_العملية     ,الفاتورة.اولوية_العرض     ,Sum([العدد]*[سعر_الوحدة]) AS اجمالىFROM بنود_الفاتورة    INNER JOIN الفاتورة ON بنود_الفاتورة.رقم_الفاتورة = الفاتورة.رقم_الفاتورةGROUP BY بنود_الفاتورة.رقم_الفاتورة    ,الفاتورة.رقم_حساب_العميل    ,الفاتورة.تاريخ_العملية    ,الفاتورة.اولوية_العرض"
    qdf.ReturnsRecords = False
    DoCmd.OpenQuery "f11"

 

تم تعديل بواسطه jjafferr
لتنسيق الكود: استعمل <> القائمة ، ووضع الكود في نافذته
رابط هذا التعليق
شارك

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

في قائمة رسائل التحرير ، هناك ايقونة بهذا الشكل:  <>   ، رجاء انقر عليها ، وستفتح لك نافذة جديدة ، وهنا تضع الكود 🙂

 

 

مو كفاية نشوف السطر اللي عليه الخطأ ، ولكن نريد نعرف رسالة الخطأ كذلك 🙂

 

والآن الى حل الخطأ ، رجاء استعمل هذا السطر بدل سطرك


    qdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=" & Me.server_name & ";UID=" & Me.user_name & ";Trusted_Connection = no;DATABASE=" & Me.database_name & ";"

.

جعفر

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

49 دقائق مضت, tiger wanted said:

والتوضيح

اه نسيت هاي 🙂

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

فلو انك اتبعت طريقتي ، ما كنت تقع في الخطا هذا 🙂

خليني افكك سطرك الى عدة اسطر (على طريقتي) ، وبتشوف بنفسك :

انت عملت 
qdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=" & Me.server_name & ";" & "UID=" & Me.user_name & ";" & Trusted_Connection = no & "DATABASE=" & Me.database_name & ";"""


 (شوف مشاركتي السابقة)بينما اذا فككت السطر اعلاه على طريقتي
qdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=" & Me.server_name & ";" & _
"UID=" & Me.user_name & ";" & _
Trusted_Connection = no & _
"DATABASE=" & Me.database_name & ";"""

المفروض يكون واضح لك مكان الخطأ

 

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information