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

تعديل جمله sql


إذهب إلى الإجابة الإجابة بواسطة سامي الحداد,

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

قام بنشر

كيف اكتب هذه الجمله بشكل صحيح 

"create table vac (SELECT * FROM tblVacation where (((tblVacation.emp_code)= " & [TempVars]![EmpIdTemp] & " AND (tblVacation.VacationLife)='سارية')) ORDER BY vacationstartdate Asc;)"

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

قام بنشر

سبب الخطاء هو وجود الجدول Vac مسبقا هل هذا صحيح؟

اذا اليك هذا التغير في الكود.

او ارفق ملفك للنظر اين المشكلة.

Dim strSQL As String
Dim empId As Long
Dim db As DAO.Database
Dim rsVacation As DAO.Recordset
Dim qdf As DAO.QueryDef

empId = [TempVars]![EmpIdTemp]

strSQL = "SELECT * FROM tblVacation " & _
         "WHERE (((tblVacation.emp_code) = " & empId & " AND (tblVacation.VacationLife) = 'سارية')) " & _
         "ORDER BY vacationstartdate ASC;"

Set db = CurrentDb
Set qdf = db.CreateQueryDef("", strSQL)
Set rsVacation = qdf.OpenRecordset()

rsVacation.Close
Set rsVacation = Nothing
Set qdf = Nothing
Set db = Nothing
  • تمت الإجابة
قام بنشر

 أخي الكريم 

من الخطاء جعل حقل رقم الموظف ترقيم تلقائي لانك ستواجه مشاكل كثيرة في ال TempVars من خلال ال Dlookup.   

اليك هذا التعديل في اكواد المودولات Emp_Var و Module2 

' Emp_Var Module

Option Compare Database
Option Explicit

Public Sub EmpNameVar()
    Dim EmpNameTemp As Variant

    If Not IsNull([TempVars]![EmpIdTemp]) And [TempVars]![EmpIdTemp] <> "" Then
    
        Dim empId As Long
        empId = CLng([TempVars]![EmpIdTemp])
        EmpNameTemp = DLookup("[emp_name]", "[tblName]", "[emp_code]=" & empId)
        TempVars.Add "EmpNameTemp", EmpNameTemp
    End If
End Sub

Public Function Totalcountt() As Integer
    Dim x As Integer
    x = DCount("[emp_code]", "tblName", "[job_Status]=1")
    Totalcountt = x
End Function


' Module2

Option Compare Database
Option Explicit

Function TotalVac()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim rs1 As DAO.Recordset
    Dim rs2 As DAO.Recordset
    Dim CountRecord As Integer
    Dim i, s As Integer

    Set db = CurrentDb
  
    If Not IsNull([TempVars]![EmpIdTemp]) Then
        
        Dim empId As String
        empId = "'" & CStr([TempVars]![EmpIdTemp]) & "'"

        Set rs = db.OpenRecordset("SELECT * FROM tblVacation WHERE (((tblVacation.EmpCode) = " & empId & " AND (tblVacation.VacationLife) = 'سارية')) ORDER BY vacationstartdate Asc;")
        Set rs1 = db.OpenRecordset("SELECT * FROM tblVacation WHERE (((tblVacation.EmpCode) = " & empId & " AND (tblVacation.VacationLife) = 'سارية')) ORDER BY vacationstartdate Asc;")

        
        On Error Resume Next
        db.TableDefs.Delete "vac"
        On Error GoTo 0

        Dim strSQL As String

        strSQL = "SELECT * INTO vac FROM tblVacation " & _
                 "WHERE (((tblVacation.EmpCode) = " & empId & " AND (tblVacation.VacationLife) = 'سارية')) " & _
                 "ORDER BY vacationstartdate ASC;"
        db.Execute strSQL

        rs.Close
        Set rs = Nothing
        rs1.Close
        Set rs1 = Nothing
    Else
      '  (يمكنك إظهار رسالة أو تنفيذ أي إجراء آخر حسب الحاجة)
       
    End If

    Set db = Nothing
End Function

تأخرت  عليك بالرد لان الوقت عندي متقدم  بستة ساعات عن وقت الدول العربية.

بالتوفيق

الكل.rar

  • Like 1

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information