איך משלבים כמה קבצי אקסס לאחד?
-
יש לי קובץ אקסס ואני רוצה שכמה אנשים יכניסו נתונים מקושרים בתוכו,
השאלה מה הדרך הכי קל אחרי זה לשלב הכול ביחד?
האם אפשר לייצא ואחרי זה לייבא הכול ושהנתונים ישארו מקושרים? (כולם מקבלים אותו אקסס, אותו טבלאות ושדות)
האם יש דרך אחרת?
לעשות את זה ברשת לא נראה לי שווה בגלל שכל הצורך זה רק לשבוע. -
@chocolate אם הבנתי אותך נכון, הרעיון להכניס את הנתונים בנפרד ואחר כך לאחד הכל הוא בעייתי, בגלל שדות המפתח של הטבלאות - כי מסתמא יהיו לך מפתחות כפולים שתצטרך להפריד ביניהם וזה כאב ראש לא קטן.
אם כולם עובדים ברשת מקומית, תבנה את האקסס בצורה של בסיס נתונים מפוצל, כך שכל הנתונים ישבו במקום אחד בלבד (BackEnd), וכל משתמש יקבל רק את הממשק (FrontEnd)
גם האופציה הזו לא כל כך מומלצת, כי אקסס לא בנויה לעבוד ישירות דרך רשת, ובמקרה הזה הייתי מקשר את הטבלאות על ידי ODBC.
אולי כדאי לך פשוט לפתוח גליון משותף בגוגל שיטס, ושכולם יכניסו את הנתונים לשם, ואחר כך לייבא את הכל לאקסס. -
@odeddvir אמר באיך משלבים כמה קבצי אקסס לאחד?:
לייבא
הבנת אותי מצויין, והבעיה הוא שכל אחד עובד מהבית שלו,
אני חשבתי על כיוון דומה שכל אחד מכניס הנתונים לתוך אקסל, אבל לא מסתדר לי איך אני מייבא את זה אחרי זה,
ניקח לצורך הענין האקסס שהעברת שיעורים על זה, יהיה לי אקסל שכולל תורמים והתרומות שלהם, איך אני מייבא את התורמים לטבלה אחד והתרומות לטבלה השניה ומקשר ביניהם? -
@chocolate תצטרך לכלול שדה משותף בשתי הטבלאות, שאותו יכניסו ידנית באקסל, למשל מספר תעודת זהות של התורם, שיופיע גם בטבלת התורמים וגם עבור כל תרומה.
כך תוכל לקשר בין הרשומות בייבוא. -
@odeddvir אמר באיך משלבים כמה קבצי אקסס לאחד?:
כך תוכל לקשר בין הרשומות בייבוא.
זאת אומרת שהשדה מפתח לא יוכל להיות יותר לעולם השדה שמקשר בין שני התפסים, נכון?
האם זה משפיע על משהו? -
@chocolate אמר באיך משלבים כמה קבצי אקסס לאחד?:
זאת אומרת שהשדה מפתח לא יוכל להיות יותר לעולם השדה שמקשר בין שני התפסים, נכון?
אם הבנתי אותך נכון, התכוונת שמעתה תצטרך להשתמש בשדה ת.ז. כשדה מפתח גם באקסס?
לא בהכרח.
ביבוא תייבא את כל התורמים בהתחלה, כשאתה יוצר עבור כל אחד שדה מפתח משלו ע"י אקסס.
אחר כך תייבא את התרומות, ותשיג את המפתח הזר (של התורם) על ידי קישור של שדה ת.ז. ברשומת התרומה לשדה ת.ז. בטבלת התורמים. -
@odeddvir אמר באיך משלבים כמה קבצי אקסס לאחד?:
אחר כך תייבא את התרומות, ותשיג את המפתח הזר (של התורם) על ידי קישור של שדה ת.ז. ברשומת התרומה לשדה ת.ז. בטבלת התורמים.
איך עושים את החלק הזה?
-
@chocolate ייבא את התורמים עם שדה ת.ז.
יבא את התרומות לטבלה זמנית Temp
אחר כך תבצע JOIN בין טבלת התורמים ל-Temp על ידי השדה המשותף של ת.ז., ותציג את השדה ID של התורם ליד כל תרומה.
את הנתונים האלו תייבא לתוך טבלת התרומות. -
אם אין לך חשש מאותו תורם ב2 הקבצים השונים, תוכל לנסות לעשות מפתח ראשי עם GUID ולא מספור אוטומטי
(אפשר לדעתי לעשות גם את השעת כניסה כולל שניות וטיקים, אבל זה לא בטוח במליון אחוז שלא תהיה כניסה אצל 2 באותו בהרגע (למרות שמדובר במשהו רחוק באופן קיצוני מאד) -
@clickone אמר באיך משלבים כמה קבצי אקסס לאחד?:
(אפשר לדעתי לעשות גם את השעת כניסה כולל שניות וטיקים, אבל זה לא בטוח במליון אחוז שלא תהיה כניסה אצל 2 באותו בהרגע (למרות שמדובר במשהו רחוק באופן קיצוני מאד)
אוי, לי זה נשמע כמו רולטה רוסית....
-
@chocolate אלו כבר שני נושאים אחרים...
Join = שאילתת צירוף עיין כאן לדוגמא.את הטבלה המתקבלת מהשאילתא תוכל להטמיע בטבלת התרומות על ידי שאילתת הוספה INSERT, או שורה אחר שורה בקוד VBA.
-
@odeddvir תודה רבה עזרת לי מאוד,
על זה הדרך אני פשוט מעביר לכל אחד האקסס בשלימתו, ושכל אחד יכניס כל הנתונים כרגיל, ואז אני מעתיק ומדביק כל הטבלאות שמילאו לתוך אקסס אחד וממשיך לעשות שאילתה וכו'., זה פשוט יותר קל למלאות נתונים בתוך האקסס כשיש טופס מעוצב ומוכן מלהכניס נתונים באקסל. -
@odeddvir אתה צודק
כתבתי שזה מסוכןמצד שני, לסמוך שכולם יקלידו לך תעודת זהות תקינה ולא ישימו לך 42 כי זו תעודת זהות חוקית, זה רולטה קצת יותר מסוכנת....
מקסימום היית משתמש בתחילית של מזהה העמדה או המשתמש ואז היית מקבל מזהה ייחודי יותרבכל מקרה, אני רואה שהפיתרון שלך היה מצויין בשבילו, אז אפשר להתעלם....
1/14