פונקציית vba & odbc
-
יש לי קובץ אקסס שמתחבר לשרת ע"י odbc
כרגע אני מגדיר בכל מחשב את החיבור של הקובץ
מחיפוש קטן מצאתי פונקציה vba אבל ממש לא הבנתי איך מגדירים את הטבלאות להתחבר דרכו
(יותר נכון מצאתי את הפונקציה, אבל אין לי מושג איך משתמשים בו )Dim oConn As ADODB.Connection Private Sub ConnectDB() Set oConn = New ADODB.Connection oConn.Open "DRIVER={MySQL ODBC 3.51 Driver};" & _ "SERVER=localhost;" & _ "DATABASE=excel;" & _ "USER=root;" & _ "PASSWORD=;" & _ "Option=3" End Sub -
במהלך הגדרת החיבור (בדרך שעשית עד היום) יש אפשרות כמדומני לצפות ב"מחרוזת החיבור" (connection string).
תעתיק אותה לקוד הזה, במקום המחרוזת שאחרי oConn.Open.
תדאג שהפונקציה תיקרא בפתיחת הקובץ וזהו, זה אמור להיות מחובר כנראה. -
@dovid אמר בפונקציית vba & odbc:
במהלך הגדרת החיבור (בדרך שעשית עד היום) יש אפשרות כמדומני לצפות ב"מחרוזת החיבור" (connection string).
לא בדיוק הבנתי את כוונתך
עד היום עשיתי, נתונים חיצונים>מקור חדש>קובץ odbc התכוונת לזה ? -
@ליבל אמר בפונקציית vba & odbc:
לא בדיוק הבנתי את כוונתך
עד היום עשיתי, נתונים חיצונים>מקור חדש>קובץ odbc התכוונת לזה ?הפונקציה הזו טובה לקריאת נתונים דרך Recordset של ADO (ActiveX Data Object)
היא לא תשמש אותך אם יש טפסים המבוססים ישירות על טבלאות או שאילתות, לזה צריך אובייקט DAO.
מה שאתה צריך זה פונקציה שתיצור קישור טבלה באמצעות אובייקט Tabldefs. משהו בסגנון:public sub CreateTableLink(tableName as string, cnn as string) dim tdf as DAO.Tabledef Set tdf = currentdb.CreateTableDef(tableName) tdf.Connect = cnn currentdb.TableDefs.Append tdf end sub ותעביר כפרמטרים את שם הטבלה ומחרוזת הקישור
-
@ליבל אמר בפונקציית vba & odbc:
@dovid אמר בפונקציית vba & odbc:
במהלך הגדרת החיבור (בדרך שעשית עד היום) יש אפשרות כמדומני לצפות ב"מחרוזת החיבור" (connection string).
לא בדיוק הבנתי את כוונתך
עד היום עשיתי, נתונים חיצונים>מקור חדש>קובץ odbc התכוונת לזה ?ואז נפתח לך תיבת דו שיח, ואתה מתבקש ליצור חיבור חדש או להשתמש בקובץ חיבור קיים.
בסיום התהליך כמדומני יש מקום שאתה יכול לראות את מחרוזת החיבור - טקסט אנגלי ארוך שמכיל את כל הפרמטרים שהזנת באפשרויות החיבור. -
@dovid אמר בפונקציית vba & odbc:
בסיום התהליך כמדומני יש מקום שאתה יכול לראות את מחרוזת החיבור - טקסט אנגלי ארוך שמכיל את כל הפרמטרים שהזנת באפשרויות החיבור.
אצלי אין
אופיס 2016 -
@ליבל אמר בפונקציית vba & odbc:
אצלי אין
אופיס 2016אתה יכול לראות בטבלה MSysObjects בשדה Connect את מחרוזת החיבור
-
- תיקח קובץ טקסט
- תהפוך את הסיומת לudl,
- תפתח אותו שוב ע"י לחיצה כפולה
- תקשר אותו למסד הנתונים שאתה רוצה להתחבר אליו (עד שאתה מקבל הודעת אישור שהקונקט הצליח).
- אח"כ תפתח אותו שוב בטקסט והרי לך הנתיב.
-
@chagold תודה אכן נתן לי את הנתיב.
עדיין יש לי שגיאה לא מבין מדוע,Private Sub Form_Current() Dim oConn As ADODB.Connection Private Sub ConnectDB() Set oConn = New ADODB.Connection oConn.Open "DRIVER={MySQL ODBC 8.0 Unicode Driver};SERVER=51.51.51.51;UID=sss;PWD=XXXXXX;DATABASE=jjjj;PORT=3306;" End Sub חוץ מ
DRIVER={MySQL ODBC 8.0 Unicode Driver}
שזה חייב להיות נכון, הכול היה בתיעוד הנתיב -
-
oConn As ADODB.Connection
-
מותקן לי גם דרייבר של 32 bit וגם 64 bit, יתכן שזה הבעיה
השאלה האם אפשר להגדיר שישתמש דווקא של 32 ?
4/50