OdedDvir
-
מהיכן אפשר להוריד גופנים יפים? -
פונקציית vba & odbc@ליבל נהדר!
-
פונקציית vba & odbc@ליבל צריך לדבג ולראות אם הקוד כתוב נכון (שמתי לב שבאתר הוא מוסיף {1} בהתחלה של כמה שורות)
בעורך הVBA תבחר בתפריט Debug>Compile ותראה אם הוא נותן לך שגיאה -
פונקציית vba & odbc@ליבל מה השגיאה?
-
פונקציית vba & odbc@ליבל הראשון הוא השם המקומי שאתה רוצה לתת לטבלה. השני הוא השם האמיתי של הטבלה בdb
-
פונקציית vba & odbc@ליבל תפתח מודל חדש ותדביק את הקוד הבא (מאתר מייקרוסופט)
'//Name : AttachDSNLessTable '//Purpose : Create a linked table to SQL Server without using a DSN '//Parameters '// stLocalTableName: Name of the table that you are creating in the current database '// stRemoteTableName: Name of the table that you are linking to on the SQL Server database '// stServer: Name of the SQL Server that you are linking to '// stDatabase: Name of the SQL Server database that you are linking to '// stUsername: Name of the SQL Server user who can connect to SQL Server, leave blank to use a Trusted Connection '// stPassword: SQL Server user password Function AttachDSNLessTable(stLocalTableName As String, stRemoteTableName As String, stServer As String, stDatabase As String, Optional stUsername As String, Optional stPassword As String) On Error GoTo AttachDSNLessTable_Err Dim td As TableDef Dim stConnect As String For Each td In CurrentDb.TableDefs If td.Name = stLocalTableName Then CurrentDb.TableDefs.Delete stLocalTableName End If Next If Len(stUsername) = 0 Then '//Use trusted authentication if stUsername is not supplied. stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";Trusted_Connection=Yes" Else '//WARNING: This will save the username and the password with the linked table information. stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";UID=" & stUsername & ";PWD=" & stPassword End If Set td = CurrentDb.CreateTableDef(stLocalTableName, dbAttachSavePWD, stRemoteTableName, stConnect) CurrentDb.TableDefs.Append td AttachDSNLessTable = True Exit Function AttachDSNLessTable_Err: AttachDSNLessTable = False MsgBox "AttachDSNLessTable encountered an unexpected error: " & Err.Description End Function
הפונקציה הזו יוצרת קישור חדש לטבלה, ואם הטבלה כבר קיימת היא מוחקת את הקישור הקיים.
תחביר קריאה לפונקציה:AttachDSNLessTable("dbo_myTable", "dbo.myTable", "SERVER_IP", "dbName", "user", "password")
-
פונקציית vba & odbc@ליבל אוקי, עכשיו האם נכון לעכשיו הטבלאות המקושרות מופיעות כבר ברשימת האובייקטים, או שצריך ליצור קישור חדש?
-
פונקציית vba & odbc@ליבל יפה. עכשיו האם אתה יודע את מחרוזת החיבור ConnectionString?
-
פונקציית vba & odbc@ליבל התכוונתי האם אתה יכול להוסיף קוד לקובץ..
-
פונקציית vba & odbc@ליבל האם אתה יכול לכתוב קוד VBA?
-
אזור שפה באקסס@יהודי-טוב אתה צריך לבדוק שיש תמיכה בשפה גם של מערכת ההפעלה:
-
פונקציית vba & odbc@ליבל אמר בפונקציית vba & odbc:
?
נראה לי שלא הבנתי את כוונתך. אתה מעוניין שקישור הטבלאות ייעשה אוטומטית?
-
פונקציית vba & odbc@ליבל אמר בפונקציית vba & odbc:
@OdedDvir אני אכן צריך שיהיה לי טבלאות מקושרות
וזה מאוד תמוה אצלי, קיבלתי קובץ אקסס של חברה מסוימת סגור כמובן, וכשאני פותח במצב בטוח אני רואה את כל הטבלאות מקושרות ע"י odbc וכשאני מחפש את מקור הקובץ פשוט אין זכר לדבר ! איך יכול להיות ?? אולי זה ע"י הפונקציה שעליה דיברת @OdedDvir ?
נ.ב. אין לי גישה למודלים של הקובץיתכן שהטבלאות מקושרות על ידי קוד VBA עם טעינת הקובץ. אם אין לך גישה למודלים אתה לא יכול לכתוב קוד VBA...
מה בדיוק אתה צריך לעשות עם הקובץ הזה? -
פונקציית vba & odbc@ליבל אמר בפונקציית vba & odbc:
ב"ה נראה לי שהצלחתי אבל עדיין אין לי אינדקציה לזה (פשוט אין שגיאות...)
איך אני צריך להביא את הטבלאות ע"י sql ?תלוי מה שיטת העבודה שלך. אם אתה רק רוצה לגשת לנתונים דרך VBA יש פונקציות לקרוא Recordset
אבל -
אם יש לך טפסים שמבוססים על טבלאות תצטרך לאכלס אותם על ידי VBA או להשתמש בטבלאות מקושרות DAO ובפונקציה שכתבתי לך למעלה -
פונקציית vba & odbc@ליבל נראה ששכחת לסגור את הקוד של הפונקציה. בקוד למעלה כתבת פונקציה בתוך פונקציה. אי אפשר לעשות את זה בVBA
-
(נפתר) עזרה באקסל - הודעת שגיאה בהזזת תאים@UA באיזו גירסא של Excel מדובר?
-
(נפתר) עזרה באקסל - הודעת שגיאה בהזזת תאים@UA אולי תנסה לכבות באפשרויות את התצוגה החיה
-
אזור שפה באקסס@יהודי-טוב תן לי קצת יותר פרטים. האם הטופס מכיל תוי unicode מיוחדים?
אם השפה של Windows אינה זה לשפה של הטופס, אתה צריך לשנות (להוסיף שפת תצוגה) בלוח הבקרה -
(נפתר) עזרה באקסל - הודעת שגיאה בהזזת תאים@UA לפי כל הרחרוחים שעשיתי ראיתי שזו בעיה נפוצה במשך שנים... הפתרון היחיד שמישהו העיד שהוא עובד זה לרוקן את הלוח בכל פעם לפני ההעתקה. בסרגל בצד ימין כתוב לוח ויש סמל של הרחבת החלון.
מישהו הציע ללחוץ על Esc לפני כל הדבקה. אני לא יודע אם זה עוזר.
אולי אפשר לכתוב איזה מאקרו שיעשה זאת אוטומטית לפני כל העתקה. -
(נפתר) עזרה באקסל - הודעת שגיאה בהזזת תאים