-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
السلام عليكم 🙂 الحل اللي توصلت اليه هو: 1. حفظ الصورة في مجلد الوندوز المؤقت ، 2. ثم قراءته وحفظه في الذاكرة ، وعن طريق Ctrl + V تستطيع لصقه في معظم البرامج (هناك برنامج لم يقبل اللصق فيه) . والاكواد : 1. Public Function Export_Attached_Pictures(TQ_Name As String, Record_ID, fld_Name As String, img_Name As String, Export_Folder_Name As String) On Error GoTo err_Export_Attached_Pictures ' TQ_Name = Table or Query Name ' fld_Name = Attachement field name ' Export_Folder_Name = where to export the picture Dim db As dao.Database Dim rst_TQ As dao.Recordset Dim rst_Pictures As dao.Recordset Dim mySQL As String Set db = CurrentDb ' the parent recordset. mySQL = "Select " mySQL = mySQL & fld_Name mySQL = mySQL & " From " mySQL = mySQL & TQ_Name mySQL = mySQL & " Where ID=" & Record_ID Set rst_TQ = db.OpenRecordset(mySQL) ' loop through it While Not rst_TQ.EOF ' the child recordset. Set rst_Pictures = rst_TQ.Fields(fld_Name).Value ' Loop through the attachments. While Not rst_Pictures.EOF If rst_Pictures.Fields("FileName") = img_Name Then ' Save current attachment to disk, with their original names rst_Pictures.Fields("FileData").SaveToFile Export_Folder_Name GoTo Exit_Export_Attached_Pictures End If rst_Pictures.MoveNext Wend rst_TQ.MoveNext Wend Exit_Export_Attached_Pictures: rst_TQ.Close: Set rst_TQ = Nothing rst_Pictures.Close: Set rst_Pictures = Nothing Exit Function err_Export_Attached_Pictures: If err.Number = 3839 Then 'file exists Resume Next ElseIf err.Number = 91 Or err.Number = 3420 Then Resume Next Else MsgBox err.Number & vbCrLf & err.Description Resume Exit_Export_Attached_Pictures End If End Function . 2. Option Compare Database Option Explicit ' Required data structures Private Type POINTAPI x As Long y As Long End Type #If Win64 And VBA7 Then ' Clipboard Manager Functions Private Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long Private Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As Long Private Declare PtrSafe Function CloseClipboard Lib "user32" () As Long Private Declare PtrSafe Function SetClipboardData Lib "user32" (ByVal wFormat As Long, ByVal hMem As LongPtr) As LongPtr Private Declare PtrSafe Function GetClipboardData Lib "user32" (ByVal wFormat As Long) As LongPtr Private Declare PtrSafe Function IsClipboardFormatAvailable Lib "user32" (ByVal wFormat As Long) As Long ' Other required Win32 APIs Private Declare PtrSafe Function DragQueryFile Lib "shell32.dll" Alias "DragQueryFileA" (ByVal HDROP As LongPtr, ByVal UINT As Long, ByVal lpStr As String, ByVal ch As Long) As Long Private Declare PtrSafe Function DragQueryPoint Lib "shell32.dll" (ByVal HDROP As LongPtr, lpPoint As POINTAPI) As Long Private Declare PtrSafe Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As LongPtr) As LongPtr Private Declare PtrSafe Function GlobalFree Lib "kernel32" (ByVal hMem As LongPtr) As LongPtr Private Declare PtrSafe Function GlobalLock Lib "kernel32" (ByVal hMem As LongPtr) As LongPtr Private Declare PtrSafe Function GlobalUnlock Lib "kernel32" (ByVal hMem As LongPtr) As Long Private Declare PtrSafe Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As LongPtr) Dim hGlobal As LongPtr Dim lpGlobal As LongPtr Dim HDROP As LongPtr #Else ' Clipboard Manager Functions Private Declare Function EmptyClipboard Lib "user32" () As Long Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function CloseClipboard Lib "user32" () As Long Private Declare Function SetClipboardData Lib "user32" (ByVal wFormat As Long, ByVal hMem As Long) As Long Private Declare Function GetClipboardData Lib "user32" (ByVal wFormat As Long) As Long Private Declare Function IsClipboardFormatAvailable Lib "user32" (ByVal wFormat As Long) As Long ' Other required Win32 APIs Private Declare Function DragQueryFile Lib "shell32.dll" Alias "DragQueryFileA" (ByVal HDROP As Long, ByVal UINT As Long, ByVal lpStr As String, ByVal ch As Long) As Long Private Declare Function DragQueryPoint Lib "shell32.dll" (ByVal HDROP As Long, lpPoint As POINTAPI) As Long Private Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long Private Declare Function GlobalFree Lib "kernel32" (ByVal hMem As Long) As Long Private Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long Private Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long Private Declare Sub CopyMem Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) Dim hGlobal As Long Dim lpGlobal As Long Dim HDROP As Long #End If ' Predefined Clipboard Formats Private Const CF_TEXT = 1 Private Const CF_BITMAP = 2 Private Const CF_METAFILEPICT = 3 Private Const CF_SYLK = 4 Private Const CF_DIF = 5 Private Const CF_TIFF = 6 Private Const CF_OEMTEXT = 7 Private Const CF_DIB = 8 Private Const CF_PALETTE = 9 Private Const CF_PENDATA = 10 Private Const CF_RIFF = 11 Private Const CF_WAVE = 12 Private Const CF_UNICODETEXT = 13 Private Const CF_ENHMETAFILE = 14 Private Const CF_HDROP = 15 Private Const CF_LOCALE = 16 Private Const CF_MAX = 17 ' New shell-oriented clipboard formats Private Const CFSTR_SHELLIDLIST As String = "Shell IDList Array" Private Const CFSTR_SHELLIDLISTOFFSET As String = "Shell Object Offsets" Private Const CFSTR_NETRESOURCES As String = "Net Resource" Private Const CFSTR_FILEDESCRIPTOR As String = "FileGroupDescriptor" Private Const CFSTR_FILECONTENTS As String = "FileContents" Private Const CFSTR_FILENAME As String = "FileName" Private Const CFSTR_PRINTERGROUP As String = "PrinterFriendlyName" Private Const CFSTR_FILENAMEMAP As String = "FileNameMap" ' Global Memory Flags Private Const GMEM_FIXED = &H0 Private Const GMEM_MOVEABLE = &H2 Private Const GMEM_NOCOMPACT = &H10 Private Const GMEM_NODISCARD = &H20 Private Const GMEM_ZEROINIT = &H40 Private Const GMEM_MODIFY = &H80 Private Const GMEM_DISCARDABLE = &H100 Private Const GMEM_NOT_BANKED = &H1000 Private Const GMEM_SHARE = &H2000 Private Const GMEM_DDESHARE = &H2000 Private Const GMEM_NOTIFY = &H4000 Private Const GMEM_LOWER = GMEM_NOT_BANKED Private Const GMEM_VALID_FLAGS = &H7F72 Private Const GMEM_INVALID_HANDLE = &H8000 Private Const GHND = (GMEM_MOVEABLE Or GMEM_ZEROINIT) Private Const GPTR = (GMEM_FIXED Or GMEM_ZEROINIT) Private Type DROPFILES pFiles As Long pt As POINTAPI fNC As Long fWide As Long End Type Public Function ClipboardCopyFiles(File As String) As Boolean ' 'From: https://www.developerfusion.com/code/224/copy-files-to-clipboard/ ' 'modified by jjafferr 'Copy one file to clipboad 'call it like this: ClipboardCopyFiles("D:\Les-fruits.jpg") ' Dim data As String Dim df As DROPFILES 'Dim hGlobal As Long 'Dim lpGlobal As Long Dim i As Long ' Open and clear existing crud off clipboard. If OpenClipboard(0&) Then Call EmptyClipboard ' Build double-null terminated list of files. data = File & vbNullChar ' Allocate and get pointer to global memory, ' then copy file list to it. hGlobal = GlobalAlloc(GHND, Len(df) + Len(data)) If hGlobal Then lpGlobal = GlobalLock(hGlobal) ' Build DROPFILES structure in global memory. df.pFiles = Len(df) Call CopyMem(ByVal lpGlobal, df, Len(df)) Call CopyMem(ByVal (lpGlobal + Len(df)), ByVal data, Len(data)) Call GlobalUnlock(hGlobal) ' Copy data to clipboard, and return success. If SetClipboardData(CF_HDROP, hGlobal) Then ClipboardCopyFiles = True End If End If ' Clean up Call CloseClipboard End If End Function Public Function ClipboardPasteFiles(Files() As String) As Long 'Dim HDROP As Long Dim nFiles As Long Dim i As Long Dim desc As String Dim filename As String Dim pt As POINTAPI Const MAX_PATH As Long = 260 ' Insure desired format is there, and open clipboard. If IsClipboardFormatAvailable(CF_HDROP) Then If OpenClipboard(0&) Then ' Get handle to Dropped Filelist data, and number of files. HDROP = GetClipboardData(CF_HDROP) nFiles = DragQueryFile(HDROP, -1&, "", 0) ' Allocate space for return and working variables. ReDim Files(0 To nFiles - 1) As String filename = Space(MAX_PATH) ' Retrieve each filename in Dropped Filelist. For i = 0 To nFiles - 1 Call DragQueryFile(HDROP, i, filename, Len(filename)) Files(i) = TrimNull(filename) Next ' Clean up Call CloseClipboard End If ' Assign return value equal to number of files dropped. ClipboardPasteFiles = nFiles End If End Function Private Function TrimNull(ByVal sTmp As String) As String Dim nNul As Long ' ' Truncate input sTmpg at first Null. ' If no Nulls, perform ordinary Trim. ' nNul = InStr(sTmp, vbNullChar) Select Case nNul Case Is > 1 TrimNull = Left(sTmp, nNul - 1) Case 1 TrimNull = "" Case 0 TrimNull = Trim(sTmp) End Select End Function . والحدث على نقر الزر : Private Sub cmd_Attachment_image_to_Clipboard_Click() Dim myFile As String 'make folder tmp_File in Windows TEMP Directory myFile = Environ("TEMP") & "\tmp_File\" If Dir(myFile) = "" Then MkDir myFile End If 'Save the image to folder Call Export_Attached_Pictures("Query1", Me.ID, "img", Me.img.filename, myFile) 'Copy the image to Clipboard Call ClipboardCopyFiles(myFile & Me.img.filename) End Sub Private Sub cmd_Copy_file_to_Clipboard_with_irfan_view_Click() 'use irfan view to copy the picture in clipboard Dim IV_Path As String, Source_File As String IV_Path = "C:\Program Files\IrfanView\" 'location of i_view32.exe file Source_File = "D:\Les-fruits.jpg" 'Source_File = Me.img.Picture Shell (IV_Path & "i_view64.exe " & Source_File & "/ClipCopy /killmesoftly") MsgBox "This image is copied in the clipboard, you can paste it in any program" End Sub جعفر 1484.Copy attached image to clipboard.accdb.zip
-
ربط الجداول لمسار المبرمج ، ثم اعادة ربطها بمسار المستخدم
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
اخوي ابوخليل ، ويقول المثل قديم البريسم ولا جديد الصوف 🙂 خلينا نشوف الكود لوسمحت علشان اطبق واجرب 🙂 جعفر -
المرفق موجود في المشاركة الاولى ، في آخر سطر
-
تحويل قيمة من جدول رواتب من عمودي الى افقي
jjafferr replied to ابو هاله النبلسي's topic in قسم الأكسيس Access
السلام عليكم 🙂 ابو عبدالرحمن ، يا ريت تعطينا مرفق فيه مجموعة بيانات في الاكسس ، والطريقة التي تريد البيانات تكون في الاكسل ، لأني مو قادر افهم المطلوب من المرفقات وكل مرفق فيه جزئية من الموضوع !! جعفر -
إنشاء QR CODE داخل مربع نص يدعم اللغة العربية
jjafferr replied to صالح حمادي's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته 🙂 اهلا وسهلا بك في المنتدى ، وللاستفادة القصوى من المنتدى ، رجاء مراجعة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة بشرائك النسخة الاصلية من الموقع الذي اشر اليه الاستاذ صالح او تقدر تستخدم طريقة اخرى: . جعفر -
ربط الجداول لمسار المبرمج ، ثم اعادة ربطها بمسار المستخدم
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
لا وانت الصادق ، اضطر افكر بهذه الطرق لإنجاز عملي 🙂 لهذا السبب ترى انه ما عندي مشاركات في اخفاء خلفية الاكسس ، او طرق الحمايات ، او ... ، بينما تخصصي في التعامل مع البيانات 🙂 اخوي موسى ، اليك آخر تحديث للموصوع ، وطريقة عملي: لما استلم برنامج جديد مجزأ الى واجهة وخلفية: في الواجهة FE ، امسك مفتاح الشفت وافتح الواجهة في وضع التصميم ، ثم اضع الكائنات التالية: الجدول tbl_ReLink_To_Original (تم عمل تغييرات على الجدول في المرفق) ، مع حذف جميع بياناته ، الماكرو Autoexec ، مع تغيير اسم اول نموذج يتم فتحه ، الوحدة النمطية basJStreetAccessRelinker وبدون المساس بها ، الوحدة النمطية m_Arc_Subs ، مع مراعاة استخدام النسخة الاحدث من الدالة f_ReLink_To_Original (انظر الكود في الاسفل) ، واضافة الدالة الجديدة f_Original_DB_Path_Append ، الدالة الجديدة f_Original_DB_Path_Append تقوم بجميع الخطوات اليدوية التي شرحتها في اول مشاركة ، وتقوم بإدخال مسارات الجداول المرتبطة في VBA في نافذة immediate اكتب (لاحظ ان علامة الاستفهام بالانجيزي) ?f_Original_DB_Path_Append اغلق البرنامج بعد حفظ كل شيء اعلاه ، افتح البرنامج بدون مسك مفتاح الشفت ، وسيسألني البرنامج عن مسار الجداول ، واخبره عن المسار ، ويشتغل البرنامج بالبيانات ، اقوم بجميع التعديلات/الزيادة المطلوبة ، وبعد كل تعديل اغلق البرنامج ، ثم استخدم البرنامج في الرابط التالي ، حتى ينظف برنامجي ويعمل لي نسخة احتياطية (وكثر ما اقول ، ما اوفي البرنامج حقه ، فكثير من الاحيان وبعد ايام او اشهر ، اضطر للرجوع الى احد النسخ القديمة والذي كان فيه كود قديم يشتغل ، ولكني استبدلته بكود جديد وظهر به اخطاء) : وفي النهاية اضغط البرنامج وارسله لصاحبه ، لما صاحبه يفتحه ، تلقائيا البرنامج يفتح بالطريقة العادية وبدون تدخل المستخدم في اي شيء 🙂 هذا هو الكود المعدل: Public Function f_ReLink_To_Original(Optional Seq As Integer = 1) On Error GoTo err_f_ReLink_To_Original ' ' this Function runs from startup, from AutoExec Macro. ' ' The client have his own path to the linked BE tables, ' yet for Development when we want to do changes and modifications on the FE, ' we want to link this FE to our local BE tables, for testing, ' and when we are done, we will send this FE back to the client, which will have our BE path, and that is the problem !! ' ' The Developer: ' since this Function runs from startup, but will NOT find the client BE, ' then the startup will run the Function jstCheckTableLinks_Full, which will prompt for the new BE path, and Link the FE to the BE. ' ' So I added a table tbl_ReLink_To_Original to the FE, and the path to the client BE path, as Seq = 1 , ' and for the Developer BE, the Seq is Not 1. ' ' for the Development BE path, we can run the DB normally, ' and the Function jstCheckTableLinks_Full will prompt asking for the BE path (since the DB will NOT find the BE from this Function), ' ' Or, if entered the DB while holding the Shift key, we can: ' call this Function, from the immediate window: ' ?f_ReLink_To_Original(2) ' ' or call this Function from any Event: ' Call f_ReLink_To_Original(2) ' ' ' The Client: ' And when the FE goes to the client, this Function will call Seq = 1 by default, thus returning their correct Path. ' ' ' by jjafferr ' ' v1.0, 24-Feb-2020 , One BE ' v2.0, 10-Jul-2020 , Multiple BEs ' v2.1, 13-Jul-2020 , Multiple BEs, but each table should be connected to it's owen BE !! ' , the table might be in different BE, so this way we connect it to the right BE ' Dim db As DAO.Database Dim tdf As DAO.TableDef Dim rst As DAO.Recordset Set db = CurrentDb 'assuming it is the Client, loop through his BE path Set rst = CurrentDb.OpenRecordset("Select [tbl_Name], [DB_Path] From tbl_ReLink_To_Original Where [Seq]=" & Seq) For Each tdf In db.TableDefs ' Only make a change if the table is a linked table If Len(tdf.Connect) Then rst.FindFirst "[tbl_Name] = '" & tdf.Name & "'" tdf.Connect = ";DATABASE=" & rst![DB_Path] tdf.RefreshLink ' if the table is not found in the DB Path, the Function will generate error 3011 End If 'Len Next Exit_f_ReLink_To_Original: rst.Close: Set rst = Nothing Exit Function err_f_ReLink_To_Original: If Err.Number = 3170 Then 'MsgBox "رجاء التاكد من مسار القاعدة الموجوده في الجدول" & vbCrLf & "tbl_ReLink_To_Original" 'Resume Next Resume Exit_f_ReLink_To_Original ElseIf Err.Number = 3011 Or Err.Number = 3044 Then 'this Table belonges to another DB, ignore, 'as the other DB Path will be checked too Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_f_ReLink_To_Original End If End Function Public Function f_Original_DB_Path_Append() Dim mySQL As String DoCmd.SetWarnings False mySQL = "UPDATE tbl_ReLink_To_Original SET Seq = 5, Remarks = 'A different BE Path was added' WHERE Seq=1" DoCmd.RunSQL mySQL mySQL = "INSERT INTO tbl_ReLink_To_Original ( DB_Path, tbl_Name, Seq, Remarks )" mySQL = mySQL & " SELECT Database, Name, 1, 'Client'" mySQL = mySQL & " FROM MSysObjects WHERE Flags = 2097152 ORDER BY Database" DoCmd.RunSQL mySQL DoCmd.SetWarnings True End Function جعفر Relink Tables.zip -
ياااه ، ذكرتني بأيام زماااان 🙂 وانت الصادق مبدع وعبقرى وفنان المهم اني اعرف ان المقصود هو جعفر 🙂
-
دكتور حلبي 🙂 راح اخبرك سر ، وبس اخبره للعزيزين 🙂 تأكد من ان لغة لوحة المفاتيح باللغة العربية عند النسخ . وكذلك عند اللصق 🙂 جعفر
-
1. هذا الشيء مو ممكن يصير ، لأن طلبك سابقا كان يستثني بيانات النموذج اليسار من اليمين ، فالنموذجين ما يمكن يكون فيها نفس البيانات !! 2. اذا قصدك انه اذا لم توجد بيانات في النموذج اليمين (لأن كلها صارت في النموذج اليسار) ، فهنا تستطيع استعمال الكود الذي اقترحه اخونا @ابو نزار ، طبعا مع مراعاة اسماء الاستعلامات التي استعملها في الكود اعلاه ، لتلائم مسميات برنامجك 🙂 جعفر
-
عفوا هذا اسم الحقل في الاستعلام: استعمال صفر للحقل الفارغ ABC_1: nz([abc],0) استعمال فراغ "" للحقل الفارغ ABC_1: nz([abc],"") جعفر
-
وعليكم السلام ورحمة الله 🙂 اخي الفاضل اهلا وسهلا بك في المنتدى ، وللاستفادة من المنتدى ، رجاء قراءة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة تم حذف رابط المشاركة ، حيث برنامج كاسبرسكاي قال بأن الموقع به برامج مؤذية ، كما ان حجم البرنامج اقل من 3 ميجا ، فلهذا السبب فبإستطاعتك ان ترفقه هنا في المنتدى. جعفر
-
عند فتح قاعدة بيانات من قاعدة بيانات اخر
jjafferr replied to hamdynose's topic in قسم الأكسيس Access
رجاء مراجعة هذا الرابط ، فيه الاكواد المطلوبة جعفر -
وعليكم السلام 🙂 الامر الذي يحول الحقل Null الى صفر هو NZ ، هكذا : استعمال صفر للحقل الفارغ nz([abc],0) استعمال فراغ "" للحقل الفارغ nz([abc],"") . ولكن لا ادري اذا هذا جواب لسؤالك !! جعفر
-
بناء قاعدة بيانات عهدة أجهزة من الصفر(الجداول)
jjafferr replied to samisalim's topic in قسم الأكسيس Access
الطريقة هي في المادة رقم 2 من الرابط جعفر -
مشكلة في التقرير حقل محسوب يعطي رموز
jjafferr replied to Tarekfathallah's topic in قسم الأكسيس Access
حياك الله 🙂 في الواقع الحل هو نفسه الذي قدمه احوي @Ahmed_J ، ولكنه خانه التعبير ، فبدل ان يتأكد من قيمة المقام (القيمة المقسوم عليها ، التي في الاسفل) ، تأكد من قيمة البسط (القيمة المقسوم يها ، التي في الاعلى) 🙂 جعفر -
مساعدة في استدعاء كود من نموذج فرعي بواسطة النموذج الرئيسي
jjafferr replied to ازهر عبد العزيز's topic in قسم الأكسيس Access
وعليكم السلام 🙂 هل انت طالب او مدرس ، لأن اسألتك تدور حول بديهيات الاكسس ، كأنها دروس 😁 عملت تغيير في النموذج ، فاصبحت الازرار . اول 3 ازرار ترسل البيانات مباشرة من النموذج الرئيسي لحقول النموذج الفرعي : Private Sub cmd_xr_Click() 'عند الضغط على الزر في النموذج الرئيسي xr Me.fx!x = "xr" Me.fx!x1 = 2 Me.fx!x2 = 4 Me.fx!x3 = 1 Me.fx!x4 = 0 End Sub Private Sub cmd_xm_Click() 'عند الضغط على الزر في النموذج الرئيسي xm Me.fx!x = "xm" Me.fx!x1 = 2 Me.fx!x2 = 4 Me.fx!x3 = 1 Me.fx!x4 = 0 End Sub Private Sub cmd_xn_Click() 'عند الضغط على الزر في النموذج الرئيسي xn Me.fx!x = "xn" Me.fx!x1 = 2 Me.fx!x2 = 4 Me.fx!x3 = 1 Me.fx!x4 = 0 End Sub . الزرين الاخيرين ، ننادي دالتين في النموذج الفرعي : Private Sub cmd_xs_Click() Call Form_fx.Enter_xs End Sub Private Sub cmd_Subform_Event_Click() Call Form_fx.I_am_MsgBox End Sub . نعمل دوال في النموذج الفرعي ، ولكي نستطيع ان نراها/نقرأها من خارج النموذج ، يجب ان نستعمل Public : Public Sub Enter_xs() Me.x = "xs" Me.x1 = 2 Me.x2 = 4 Me.x3 = 1 Me.x4 = 0 End Sub Public Sub I_am_MsgBox() MsgBox "قيمة x تساوي" & vbCrLf & Nz(Me.x, "") End Sub . جعفر 1482.fyfx.accdb.zip -
طلب للتعديل على كود (بداية ونهاية الشهر بناءا على قيمه (رقم)
jjafferr replied to عمر ضاحى's topic in قسم الأكسيس Access
انت ما سامع ان العين تعشق قبل القلب 🙂 لهذا السبب ، انا كمبرمج بدل ان اقرأ تفاصيل كل سطر في الكود ، هناك دلالات تخلي الحاسة السابعة تشتغل ، وبنظرة سريعة اقدر اميز كود عن كود ، لذا هاي احدها اللي تخليني على الطاير اعرف معناها 🙂 لا تؤثر على الاداء 🙂 جعفر -
مشكلة في التقرير حقل محسوب يعطي رموز
jjafferr replied to Tarekfathallah's topic in قسم الأكسيس Access
وعليكم السلام 🙂 يجب تعديل مصدر بيانات الحقل text37 الى : اذا قيمة حقل البنزين = 0 اذا اردت قيمة الحقل text37 = "" =IIf([fuel]=0,"",[text35]*20/[fuel]) اذا اردت قيمة الحقل text37 = 0 =IIf([fuel]=0,0,[text35]*20/[fuel]) . قد تضطر الى استعمال الفاصلة المنقوطة ; بدلا عن الفاصلة في الكود اعلاه. والنتيجة جعفر -
طلب للتعديل على كود (بداية ونهاية الشهر بناءا على قيمه (رقم)
jjafferr replied to عمر ضاحى's topic in قسم الأكسيس Access
السلام عليكم اخوي موسى 🙂 انا ، وعلشان الوضوح اني انادي دالة : بدل firstAndLastDay Me.txtMonthNo استعمل call firstAndLastDay (Me.txtMonthNo) حعفر -
بناء قاعدة بيانات عهدة أجهزة من الصفر(الجداول)
jjafferr replied to samisalim's topic in قسم الأكسيس Access
هلا والله اخوي ابوخليل 🙂 انا وياك متفقين دائما ان شاء الله 🙂 بالنسبة للنقطة 4 ، فنعم لو فيه برواز للنموذج الامامي ، فستكون محتويات النموذج واضحة بانتمائها لهذا النموذج ، وبالنسبة للالوان ، فلون الخط الازرق الفاتح ، يحتاج معالجة شوي ، وطبعا اتفق معاك ان يكون لجميع النماذج طابع واحد ، من مكان قفل النموذج ، الى سجل جديد ، ووو واما شديد ، فظاهره الشدة وداخله اللين 🙂 راحت الشدة ، واختربت القضية ، الآن اخونا سامي بيلعب على كيفه ، وخلينا نحسب كم هدف بيجيب 😁 جعفر -
وعليكم السلام ورحمة الله 🙂 اهلا وسهلا بك في المنتدى ، وللاستفادة القصوى من المنتدى ، رجاء مراجعة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة بما انك طالب ، اذن خليني اشرح لك ، وانت تعمل الباقي للحصول على النتيجة ادناه 🙂 . 1. اعمل استعلام خاص للنموذج الذي على اليسار ، ولنحفظه باسم qry_Left ، واجعل هذا مصدر بيانات النموذج الذي على اليسار ، 2. اعمل استعلام خاص للنموذج الذي على اليمين ، ولنحفظه باسم qry_Right ، واجعل هذا مصدر بيانات النموذج الذي على اليمين ، 3. في الاستعلام qry_Right ، في معيار الحقل Employee_Name ، سنكتب (لا يوجد Not In) اننا لا نريد الاسماء من الاستعلام qry_Left ، وهذا هو المعيار: not in(Select Employee_Name From qry_Left) 4. اغلق كل شيء ، وافتح من جديد ، وسترى النتيجة اعلاه 🙂 جعفر
-
حياك الله اخوي خالد ، واهلا وسهلا بك في المنتدى ، وللاستفادة القصوى من المنتدى ، الرجاء قراءة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة احنا في المنتدى نأخذ راحتنا ، وبعض الاوقات نمزح كما رايت في مشاركتي 🙂 للجواب على سؤالك : 1. رجاء فتح موضوع جديد ، وتشرح فيه المطلوب ، 2. يجب ان ترفق بيانات حتى يعطيك الاعضاء جواب لبياناتك ، واذا لم تعطي بيانات ، فليس عدلا ان يعملون هم بيانات لك !! 3. رجاء ، اخبرنا كيف يجب ان تكون النتيجة النهائية (من بياناتك) ، سواء عن طريق ملف اكسل او وورد. 4. نحن مبرمجين ، ونعم هناك محاسبين معنا ، فلا تتوقع منا معرفة الطريقة المحاسبية لحل الموضوع ، وانما سنحل لك الموضوع برمجيا كالمثال الذي سترفقه من المادة 3 اعلاه 🙂 جعفر
-
-
عند فتح قاعدة بيانات من قاعدة بيانات اخر
jjafferr replied to hamdynose's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته 🙂 اضف هذا السطر في نهاية الكود (هكذا موجود في كود كتبته يوم من الايام ، بس ما فيه ملاحظة في الكود ، فلا اعرف اذا يعمل العمل الذي تريده) : app.UserControl = True جعفر -
بناء قاعدة بيانات عهدة أجهزة من الصفر(الجداول)
jjafferr replied to samisalim's topic in قسم الأكسيس Access
وعليكم السلام 🙂 1. لازلت تستخدم بعض الصور المضمنه ، بدل ان تربطها عند حدث تحميل النموذج ، 2. هناك نموذج لا توجد طريقة لإغلاقة ، 3. الالوان وحجم الخط والوان الخط ، مو مناسبين لي (يا اخي انا حر في مزاجي 😁) ، 4. لما تفتح نموذج ، ويكون امام نموذج آخر ، فيكون فيه تلاحم وتخالط في الالوان ، بينما احب ان يكون النموذج ظاهر وواضح بشخصيته ، 5. النموذج frmReceive&Return ، اسمه غلط ، فلا يجب استعمال علامة & في الاسم ، وكذلك فيه اخطاء ، فإذا ما كنت تريده ، احذفه او اعمل على الاسم علامة مثل frmReceive&Return_OLD وبالتالي تعرف انك استبدلته بنموذج آخر ، وانك تحتفظ به مؤقتا ، 6. صحيح تقدر تستعمل Me.Filter ، ولكن تجربتي جعلتني انتقل الى فلتر/تصفية الاستعلام ، والسبب انك يجب ان تتأكد ان Me.Filter فارغ وقت فتح النموذج ، بينما اذا كان عندك Filter ثم فتحت النموذج في وضع Layout ، فان الاكسس يحفظ معلومات الفلتر ضمن النموذج (نفس الشيء بالنسبة للصور كذلك) ، ويجب عليك حذفه وحفظ النموذج مرة اخرى ، 7. انا مو من محبي Set fso = CreateObject("scripting.filesystemobject") إلا في حالات نادرة (مثل لمعرفة مسار سطح المكتب) ، لأنك تضيف اوامر خارجية على الاكسس ، بينما هناك اوامر من الاكسس نفسه لمعظم اوامر fso (لا تنسى ، كل امر في الكود يستهلك قوة من المعالج CPU ويأخذ حيز من الذاكرة المؤقته RAM ، فلماذا هذه الاضافة) ، 8. اذا بتجعل هذا البرنامج في شبكة ، ويكون فيه واجهة على كل كمبيوتر ، وتكون الجداول على السيرفر/الشبكة ، ففي نفس السيرفر او مسار الجداول نضع مجلد الصور ، فعليه الامر Application.CurrentProject.Path يعطيك مسار الواجهة وليس الجداول ، وللحصول على مسار الجداول ، انظر هنا : جعفر