לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תוכנה ומשחקי מחשב
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #7  
ישן 20-09-2007, 10:39
  eliabramo eliabramo אינו מחובר  
 
חבר מתאריך: 22.05.05
הודעות: 24
בתגובה להודעה מספר 6 שנכתבה על ידי zivk שמתחילה ב "הפתרון שהצעת ע"י סקריפט הוא..."

אתם קשים כאן בעניין הכללים, ודווקא קראתי אותם, אבל כשפירסמתי את השאלה חשבתי שיש פתרון לא תכנותי, ואולי עדיין יש. בכל אופן, כתבתי סקריפט כזה שעושה את הסנכרון:

קוד:
Function Startup_Sync() Dim db As DAO.Database Dim rs1 As DAO.Recordset Dim rs2 As DAO.Recordset Set db = CurrentDb() Set rs1 = db.OpenRecordset("ID", dbOpenDynaset) Set rs2 = db.OpenRecordset("quiz_ID", dbOpenDynaset) rs1.MoveFirst If rs2.RecordCount = 0 Then Do Until rs1.EOF rs2.AddNew rs2![FEILD_NAME] = rs1![FEILD_NAME] rs2.Update rs1.MoveNext Loop Else: Do Until rs1.EOF rs2.MoveFirst Do Until rs2.EOF If rs2![FEILD_NAME] = rs1![FEILD_NAME] Then Exit Do Else rs2.MoveNext End If Loop If rs2.EOF Then rs2.AddNew rs2![FEILD_NAME] = rs1![FEILD_NAME] rs2.Update End If rs1.MoveNext Loop End If rs1.Close rs2.Close Set rs1 = Nothing Set rs2 = Nothing Set db = Nothing End Function


הטבלה ID היא טבלה מקושרת מקובץ אחר. הטבלה quiz_ID היא טבלה שמקושרת לטבלה ID בקשר אחד לאחד, כדי להוסיף עוד שדות לטבלה ID כי אי אפשר להוסיף שדות לטבלה מקושרת.
הסקריפט הזה עושה את הסנכרון, וכמו שאתם רואים יעילות לא בראש מעייני כרגע. אני מריץ אותו במקארו שנקרא AutoExec ואז הוא רץ בכל פתיחה של המסד נתונים, כדי לעדכן את השדות שנוספו בנתיים לטבלה ID.

zivk - לא אוכל להעלות את מסד הנתונים, יש שם נתונים פרטיים של אנשים.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #9  
ישן 20-09-2007, 11:29
  eliabramo eliabramo אינו מחובר  
 
חבר מתאריך: 22.05.05
הודעות: 24
בתגובה להודעה מספר 8 שנכתבה על ידי zivk שמתחילה ב "עדיין לא הבנתי את הבעיה עם..."

למען האמת, זו ההתעסקות הראשונה שלי באקסס, ורצו ממני משהו מהר פשוט ושיעבוד, לא איכפת איך.
אתה צודק בכל מה שאתה אומר, אז אני אסביר את כל העניין:
מדובר בניסויים רפואיים על חולים. יש קובץ עם רשימה של חולים (ID), פרטים אישיים וכו', ויש שם גם רשימה של תוצאות הניסויים. אני לא יכול לשנות את הקובץ הזה, אבל אני אמור לעשות מין שאלון שימלאו אותו בכל ניסוי (מכאן ולהבא), לאחר סיום הניסוי. לכן חשבתי לעשות טופס בקובץ נפרד ולקשר את טבלת השמות והתוצאות לקובץ הזה. עכשיו, השאלון מכיל מידע שמוצג עם פרטי החולה מטבלת ID, עם קצת מידע שנאסף בבדיקה מטבלת התוצאות, ומידע חדש. חלק מהמידע החדש הוא מידע קבוע לכל חולה (למשל היסטוריה רפואית) אבל לא רוצים שהוא יכנס לטבלת ה-ID. שאר המידע הוא מידע ספיציפי לכל בדיקה (ואז אני אצטרך לעשות טבלה שמקושרת לטבלת התוצאות, אבל דיה לצרה).
עד כאן מידע כללי. עכשיו, בשלב ראשון אני עושה טבלת חולים עם המידע החדש לכל חולה, שאמורה להיות מקבילה לטבלת ה-ID. אני רוצה ששדות חדשים שיווצרו ב-ID, יצרו אוטומטית (לפחות ברגע שאני פותח את המסד השני) שדות חדשים וריקים בטבלה השניה, כדי שיהיה אפשר למלא אותם בפרטי החולה הנוספים.
כמובן שעדיף להוסיף לפרוצדורה של הוספת חולה חדש גם את השדות הנוספים שבקובץ השני, אבל בנתיים זה לא כך.

אם יש הצעות יעול אשמח לשמוע.
יש לי כבר עוד כמה שאלות להמשך, אבל אני אנסה בנתיים בעצמי.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #17  
ישן 24-09-2007, 14:35
  eliabramo eliabramo אינו מחובר  
 
חבר מתאריך: 22.05.05
הודעות: 24
בתגובה להודעה מספר 16 שנכתבה על ידי zivk שמתחילה ב "ציטוט: "לא כל כך הבנתי את..."

בבקשה:


[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין:
http://img205.imageshack.us/img205/2900/queryjw1.th.jpg]


זו השאילתה שלי עם קשרי הגומלין. הטבלאות ID ו- Results מקושרות מקובץ אחר. הראשונה מכילה את פרטי החולים והשניה את תוצאות הבדיקות. הם מקושרות בינהם בקשר יחיד-רבים (הקישור במקור).
עכשיו, אני רוצה להרחיב כל אחת מהטבלאות. לכן טבלה quiz_ID מרחיבה את ID ומקושרת בקשר אחד-לאחד, ו-answers מרחיבה את Results ומקושרת בקשר אחד-לאחד. עכשיו אני יוצר טופס עם כל הנתונים. כל טופס מתאים לבדיקה אחת, עם נתוני החולה ונתוני הבדיקה. עכשיו הבעיה: אני רוצה להוסיף נתונים לטבלאות הלוקליות אבל אי אפשר! גם דרך השאילתה אי אפשר. השינוי לא נקלט בשדות.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #20  
ישן 24-09-2007, 15:15
צלמית המשתמש של zivk
  zivk zivk אינו מחובר  
 
חבר מתאריך: 22.07.04
הודעות: 1,414
בתגובה להודעה מספר 1 שנכתבה על ידי eliabramo שמתחילה ב "יחס אחד לאחד עם טבלה מקושרת באקסס"

אין אכיפה בשדות מפתח, ולכן אין אפשרות להוספה ולעריכה, במידה והנתונים יהיו בנויים בצורה נכונה... אז לא תהיה בעיה לשנות או להוסיף (בלי קשר אם אילו טבלאות מקומיות או מקושרות)
לתשומת לבך הקשרים אצלך בתמונה אינן מוגדרים בצורה מלאה או שאין אכיפה (הקשרים הנפוצים הם יחיד-יחיד,יחיד-רבים, רבים-רבים )
http://www2.eitan.ac.il/accessxp/Co...lationships.asp

ציטוט:

הגדרת קשרי גומלין באקסס

קשרי הגומלין נוצרים כתלות באופן בו הוגדרו השדות המקשרים בשתי הטבלאות.כאשר מזהה אקסס שרק אחד מהשדות הקשורים הינו מפתח ראשי או בעל אינדקס ייחודי(על אינדקסים בהמשך..) יווצר אוטומטית קשר גומלין יחיד לרבים.כאשר מזהה האקסס ששני השדות הם מפתח ראשי או שיש לשניהם אינדקס ייחודי,יווצר אוטומטית קשר יחיד ליחיד.

שלמות קשרי גומלין

שלמות הקשרים היא אוסף של כללים המבטיחים את חוקיות הקשר בין רשומות בטבלאות קשורות,באופן כזה המבטיח שלא ניתן יהיה למחוק או לשנות נתונים קשורים בטעות.

ניתן לאכוף את שלמות הקשרים רק במקרים בהם :
  1. השדה המקשר בטבלה הראשית הוא מפתח ראשי או אינדקס ייחודי.
  2. השדות הקשורים הם בעלי אותו סוג נתונים.
לאחר שאכפנו שלמות קשרים בין שתי טבלאות מקושרות
  1. לא ניתן להזין ערך בשדה המפתח הזר שאינו קיים במפתח הראשי בטבלה הראשית,אולם ניתן להזין ערך null .
  2. לא ניתן למחוק רשומה בטבלה הראשית אם קיימות רשומות קשורות בטבלה הקשורה.
  3. לא ניתן לשנות את ערכו של שדה מפתח ראשי בטבלה הראשית אם יש לרשומה זו רשומות קשורות בטבלה המקושרת.
עדכונים ומחיקות על פי היררכית הקשרים

בקשרים כאלה , עבורם הגדרנו אכיפת שלמות קשרים,ניתן לציין האם אנו מעוניינים שאקסס יפעיל באופן אוטומטי:
  1. עדכון לפי היררכית הקשרים.
  2. מחיקה על פי היררכית הקשרים.
הפעלה של תכונות אל,ו מאפשרת לעקוף את המגבלות של מחיקה ועדכון, אותם מיישם מנגנון שלמות הקשרים. כאשר תכונות אלה מאופשרות, מחיקת רשומה או שינוי ערך של מפתח ראשי בטבלה אחת תעדכן את הטבלה השנייה באופן אוטומטי כדי לשמור על השלמות.

סימון "עדכון שדות קשורים זה לזה בהתאם להיררכית הקשרים" מאפשר לאקסס ,בעת שינוי ערך מפתח ראשי בטבלה הראשית, לעדכן את כל הערכים ברשומות הקשורות בטבלה השניה באופן אוטומטי .

סימון "מחק רשומות קשורות זו לזו בהתאם להיררכית הקשרים" מאפשר לאקסס , בעת מחיקה של רשומה בטבלה הראשית למחוק את כל הרשומות הקשורות בטבלה השניה, באופן אוטומטי.

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #24  
ישן 26-09-2007, 09:54
צלמית המשתמש של zivk
  zivk zivk אינו מחובר  
 
חבר מתאריך: 22.07.04
הודעות: 1,414
בתגובה להודעה מספר 23 שנכתבה על ידי eliabramo שמתחילה ב "בסופו של דבר פתרתי את כל..."

ציטוט:
זה מחייב שימוש בפילטרים, או שיש דרך אחרת?

OK
דוחות מבוססים על שאילתות המבצעות ע"י חיתוך לפי תאריך, חולה ארוע...וכו'
התהליך שאני מבצע הוא:
1. פתיחת טופס של מאפייני החיתוך (תאריך ארוע...) ובלחיצה על "אישור"
2. הסתרת טופס החיפוש (hide)
3. פתיחת דוח המבוסס על שאילתה שהחיתוך מתבצע ע"י הנתונים מהטופס המוסתר
4.בהצגת דוח פעם נוספת אני מציג שנית את הטופס הניסתר...... וכך מופיעים בו הנתונים מהחיפוש הקודם (מקל על החיפוש הבא)

נ.ב
1. ניתן על דוח להציג מספר דוחות (כמו טופס ראשי וטפסי משנה) דבר המייעל מאוד על הצגת הנתונים.
2. ניתן ליצור טופס עם רקע לבן במבנה של דוח אותו ניתן להדפיס ישירות (יש צורך להגדיר את הכפתורים "לא להדפסה" כך שלא יופיעו בהדפסה) יעיל מאוד להצגת נתונים שלכל נתון יש נתוני משנה.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 11:51

הדף נוצר ב 0.11 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר