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

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

قام بنشر (معدل)

مرسل لكم كود يقوم بعمل استعلام تمرير لسيكوال سيرفر
المطلوب تعديل بحيث 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 & ";"""

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

 

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