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

jjafferr

أوفيسنا
  • Posts

    9911
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    404

كل منشورات العضو jjafferr

  1. شكرا على التصحيح الفني ولكني اللي فهمته ان #If VBA7 Then 'هذه لنسخة 64 بت Private Declare PtrSafe Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Boolean #Else 'وهذه لنسخة 32 بت Private Declare Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Long #End If سيجعل الكود يعمل على 32بت (والذي يعمل عندي) و 64بت (كما اكده الاخ كرار karrar sabry). ورجوعا الى رابط تعديل الكود بين 32بت و64بت ، وجدت هذه الملاحظة : 'This is one of the few API functions that requires the Win64 compile constant: #If VBA7 Then #If Win64 Then Private Declare PtrSafe Function GetWindowLongPtr Lib "USER32" Alias "GetWindowLongPtrA" (ByVal hWnd As LongPtr, ByVal nIndex As Long) As LongPtr #Else Private Declare PtrSafe Function GetWindowLongPtr Lib "USER32" Alias "GetWindowLongA" (ByVal hWnd As LongPtr, ByVal nIndex As Long) As LongPtr #End If #Else Private Declare Function GetWindowLongPtr Lib "USER32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long #End If جعفر
  2. عدة طرق: 1. ضبط الكود في Notepad حسب المسارات الصحيحة ، ثم احفظ الملف بصيغة vbs او bat اينما شئت ، وانقر عليه مرتين ، وسترى الاختار موجود على سطح المكتب ، او 2. ضع الكود على حدث التحميل للنموذج الرئيسي للبرنامج ، او 3. اعمل وحدة نمطية ، مثلا function make_shortcut() الكود يأتي هنا end function ثم اعمل ماكرو ، واطلب من الماكرو ان: شغل الكود make_shortcut شغل النموذج الفلاني واهم شئ هو ان تحفظ الماكرو باسم autoexec ، والذي سوف يشغله البرنامج تلقائيا كلما تفتح البرنامج. جعفر
  3. نعم هذا صحيح ، هو اختصار للبرنامج وهو غلط اصلا انك تضع البرنامج على سطح المكتب ، والذي يسهل حذفه وبسهولة ، بينما بتغيير في الكود أعلاه ، تستطيع ان تجعل الكود يتأكد من وجود الاختصار على سطح المكتب ، وان لم يوجد (يعني اذا المستخدم حذفه لأي سبب) ، فالكود يصنعه مرة ثانية جعفر
  4. نعم ممكن هذا الكود مثلا يمكنك استعماله وسيعمل لك الاختصار على سطح المكتب: With CreateObject("WScript.Shell") With .CreateShortcut(.SpecialFolders("Desktop") & "\Test Database.lnk") .TargetPath = "C:\Stuff\Test.mdb" .WindowStyle = 1 .Hotkey = "" .IconLocation = "C:\Test\Test.ico, 0" .Description = "Test Icon Substitution" .WorkingDirectory = "C:\Stuff\" .Save End With End With جعفر
  5. انا اعطيتك رابط الموضوع وبه المرفقات ، رجاء الرجوع الى المشاركات اعلاه وكذلك المرفق موجود في المشاركة اعلاه ، في كود الحاقي متغير ، هكذا: mySQL = "INSERT INTO Degrees ( S_Name, S_ID, Sheet_Number )" mySQL = mySQL & " SELECT [" & sName & "], [" & sID & "], " & lngCount & " as S" mySQL = mySQL & " FROM tbl_Sheets" mySQL = mySQL & " GROUP BY [" & sName & "], [" & sID & "]" mySQL = mySQL & " HAVING [" & sName & "]<>'اسم الطالب' And [" & sName & "] Is Not Null" Debug.Print mySQL CurrentDb.Execute (mySQL) جعفر
  6. مجرد انك تنزل الحقل الاستعلام وهذا مثال على قولي: . جعفر
  7. نعم ولكن في بعض الاوقات قد تكون بحاجة الى عمل استعلامات عادية جانبية ، ثم تجمعها في استعلام الحاقي ، انظر الصورة التالية: جعفر هذا الرابط فيه الاستعلام السابق http://www.officena.net/ib/topic/65067-ما-هي-طريقة-استيراد-بيانات-من-عدة-صفحات-اكسل-الى-جدول-اكسس/?page=1 جعفر
  8. هذا غير صحيح ، فتستطيع ان تلحق اي معلومة/حقل/معادلة الى اي حقل في جدول الالحاق. جعفر
  9. وعليكم السلام لا ادري ، فانا لا اعرف البرنامج اللي يمكن تعمله هو: امسك زر الشفت على الكيبورد (hold Shift key on keyboard) ، انقر مرتين لفتح برنامجك ، الان اترك زر الشفت ، وادخل في البرنامج ، افتح الجداول بالنقر المزدوج عليها ، جميع الجداول ، ومن هنا يتعرف ماهي المعلومات الموجودة في كل جدول ، وعليه تقرر المعلومات اللي تريد تنقلها لبرنامجك الاخر جعفر
  10. الرابط التالي قد يفيدك: http://www.officena.net/ib/topic/65681-مشكلة-طلب-كلمة-السر-عند-الارتباط-بقاعدة-البيانات/?do=findComment&comment=427471 جعفر
  11. اذا فهمت سؤالك صح: عندك ملف اكسل ، وهذا الملف مرتبط ببرنامج الاكسس. الآن الى تغيير ملف الاكسل: عندما تحذف ملف اكسل قديم ، وتأتي بملف اكسل جديد بنفس الاسم ، بنفس اسم/رقم الورقة (شيت) ، وفي نفس المسار ، فان اكسس عند بدء تشغيله ، يقوم بربط ملف الاكسل ، حسب المعلومات السابقة (يعني المعلومات:بنفس الاسم ، بنفس اسم/رقم الورقة (شيت) ، وفي نفس المسار). جعفر
  12. وتقدر تعمل الكود التالي (انا طابعه هنا مباشرة دون تجربته ، فقد يكون فيه خطأ ما ) بدل الاستعلام: set rst=me.recordsetclone rst.movelast:rst.movefirst RC=rst.recordcount for i=1 to RC rst.edit rst!commprint=0 rst.update rst.movenext next i rst.close: set rst=nothing جعفر
  13. . 1. الجواب المختصر هو لا ادري ولكن حسب قرأتي البسيطة عن الموضع البارحة ، فهناك برامج تستطيع ان تفتح لك الملف . ابحث في الانترنت عن اسم الملف اعلاه ، وسترى النتائج. 2. عفوا ما فهمت قصدك ، واعتقد الافضل ان تعمل سؤال جديد وترفق معاه الملف اللي تتكلم عنه ، ولوسمحت اشرح المطلوب بإفاضة جعفر
  14. وعليكم السلام اعمل استعلام تحديث: . ثم كود الطباعة سيكون: 1. احفظ السجلات حتى نرى التغييرات في التقرير ، 2. قد لا تستطيع ان تستخدم معاينة التقرير ، لأننا في الخطوة 3 سنقوم بتحديث جميع علامات الصح الى لا شئ ، 3. سنقوم بطباعة التقرير مباشرة ، 4. وبعد طباعة التقرير ، سنقوم بتحديث علامات الصح الى لا شئ وقد تحتاج الى عمل التالي ، حتى تنعكس النتائج على النموذج: me.form.requery جعفر
  15. وهاي طريقة استيراد البياناتمن ملف اكسل يحتوي على الاسم والرقم الاكاديمي http://www.officena.net/ib/topic/65709-ترتيب-حقول-مستوردة-من-أكسل/?do=findComment&comment=427672 جعفر حياك الله استاذنا الفاضل جعفر
  16. ماشاء الله عليك أخوي رمهان ، مو طماع جعفر
  17. أخي طارق اسم الملف الحقيقي هو "smime.p7m" والظاهر ان له علاقة بالايميل المشفر. جعفر
  18. السلام عليكم أخي طارق ارفق الملف وسننظر فيه ، وإلا فالكلام كله مافيه فايده جعفر
  19. تفضل هذا الموضوع تكملة للموضوع: http://www.officena.net/ib/topic/65628-كود-لحذف-الاسطر-3-الاولى-من-شيت-اكسل-بالأكسس/ هذا الكود الجديد الذي يقوم بالعمل: Private Sub cmd_Remove3_Click() If Len(Me.txt_Dont_Delete & "") = 0 Then MsgBox "ÑÌÇÁ ÇÏÎÇá ÇáßáãÉ ÇáÊí ãäåÇ äÈÏà ÇáÊÓÌíá" & vbCrLf & _ "Please write the word to start writing from" Me.txt_Dont_Delete.SetFocus Exit Sub End If Dim TextLine, File_Name, File_ext, Folder_Name, nFile_Name File_Name = Dir(Me.txtPath) 'the file name only File_ext = Mid(File_Name, InStrRev(File_Name, ".") + 1) 'the file extension Folder_Name = Replace(Me.txtPath, File_Name, "") 'the folder name 'a temp csv file to transfer to it the correct lines nFile_Name = Folder_Name & Mid(File_Name, 1, Len(File_Name) - Len(File_ext) - 1) & "_2." & File_ext 'open both Input and Output files Open Me.txtPath For Input As #1 Open nFile_Name For Output As #2 d = 0 i = 0 Do While Not EOF(1) ' Loop until end of file. Line Input #1, TextLine ' Read line into variable. i = i + 1 'skip the 1st 3 lines, and write the rest If InStr(TextLine, Me.txt_Dont_Delete) > 0 Then d = -1 End If If d = -1 Then Print #2, TextLine End If Loop Close #1 Close #2 'now we have a csv file correctly saved, 'convert it to xls 'make reference to Microsoft Excel xx.x object Library Dim wBook As workbook Set wBook = Workbooks.Open(nFile_Name, Format:=6, Delimiter:=",") wBook.SaveAs Replace(Me.txtPath, ".csv", ".xls"), FileFormat:=xlExcel8 wBook.Close False 'delete the temp cvs file Kill nFile_Name MsgBox "Done" End Sub جعفر 298.1.Remove_Lines_csv.mdb.zip
  20. حياك الله ولطلب المزيد ، رحاء اتياع قوانين المنتدى ، وعمل سؤال جديد جعفر
×
×
  • اضف...

Important Information