עוד כיוון:
איך את פותח את ה-RS? מה פקודת OpenRecordset?
תנסה להוסיף את הדגל dbReadOnly או dbOpenSnapshot
OdedDvir
-
-
יש לי רעיון:
אם אתה צריך רק את מספר הרשומות, אולי DCount יעזור?
עוד רעיון
אולי תריץ שאילתת יצירת טבלה, ותכניס רק עמודה אחת לתוכה (אם אתה צריך רק את מספר הרשומות), ותבדוק כמה שורות יש בה
SELECT [id] INTO [NewTable] FROM [TableName]
ותבדוק כמה רשומות יש ב-NewTable -
אני חושב שזה בגלל שבVBA כל משפט IF בודק את כל התנאים שב-AND יחד, גם אם הראשון FALSE.
תנסה להפריד את התנאים, ולבדוק אחד אחד:
If RS.EOF then
result =0
else
RS.Movelast
result = RS.recordCount
end if -
כנראה שהטופס עוד לא סיים לטעון את כל ה RS
תנסה לזוז קודם לרשומה האחרונה ואז לאחזר את הערך של RecordCount
if rs.eof then
result = 0
else
rs.MoveLast
result = rs.RecordCount -
באמת לגבי שמות הטבלה אימצתי את השיטה של לשון יחיד, Order ולא Orders מהטעם שהזכרת, וזה גם מסדר את טבלאות המשנה לפי סדר הגיוני יותר, קודם הטבלה הראשית ואחר כך טבלאות המשנה:
Order
OrderDetails
OrderTaxes
לעומת
OrderDetails
Orders
OrderTaxes -
@avr416 אמר בדיון: SQL: שם מועדף למפתח ראשי ומפתח זר:
אני אוהב את הראשונה.
העקרון שעומד מאחוריה הוא שכל שורה זה יישות בטבלה, לכן שם הטבלה הוא ביחיד, וכל עמודה זה בעצם מאפיין.
תסתכל על זה בתור order.Id, order.name וכן על זה הדרך.
באמת לגבי שמות הטבלה אימצתי את השיטה של לשון יחיד, Order ולא Orders מהטעם שהזכרת, וזה גם מסדר את טבלאות המשנה לפי סדר הגיוני יותר, קודם הטבלה הראשית ואחר כך טבלאות המשנה:
Order
OrderDetails
OrderTaxes
לעומת
OrderDetails
Orders
OrderTaxes -
אני יודע שהאינטרנט מלא בדיון הזה, אבל אני הייתי שמח לשמוע כמה דעות של אנ"ש...
כידוע יש כמה שיטות מקובלות לבחירת שם שדה מפתח ראשי\זר:
למשל בשתי טבלאות: טבלה ראשית Order, טבלה משנית OrderDetail:- מפתח ראשי Id,מפתח זר: OrderId
- מפתח ראשי OrderId, מפתח זר: Order_Id
- מפתח ראשי OrderId, מפתח זר: OrderId
אני תמיד הייתי משתמש בשיטה השניה, אבל ראיתי שברירת המחדל לטבלה חדשה בVS היא השיטה הראשונה.
מה לדעתכם עדיף? -
@dovid תודה על המענה המפורט, קראתי את דבריך בצמא רב.
יש לי כמה שאלות:-
אם אני שוכר שרת שמספק שרותי MSSQL, מאי נפקא מינה איזו מערכת הפעלה הוא מריץ, האם אני לא מנהל רק את בסיס הנתונים דרך ServerManagement? האם הכוונה היא כאשר התוכנה שלי רוצה שירותי אחסון קבצים נוספים חוץ מבסיס הנתונים וכו'?
אחרי הכל אני רוצה שלמשתמשים הקצה תהיה גישה לנתונים ותו לא. -
אחרי שיש לי מחשב מרוחק - אני מתקין עליו SQLServer? פותח פורטים וכו'? חשבתי שאני מקבל הכל מוכן וסיסמת Admin לdb ויכולת ליצור בdb עוד משתמשים (בדומה לשרת SQLServer שיש לי לוקלית)
-
בקשר למדריך Full Stack - אני מאוד מאוד מעונין. זה וודאי שימושי בשבילי לעתיד, כשארצה לשדרג את התוכנות שלי שכיום הן באקסס.
תודה מראש
-
-
@aaron אמר במדריך FullStack לפיתוח אפליקציה בסיסית ביותר:
נהוג לא להתחבר מצד לקוח אל הSQL ישירות אלא להשתמש בשכבת API כלשהי.
האם תוכל להסביר יותר?
-
אני רוצה להתחיל עם ממשק FE שולחני שרק מתקשר עם שרת SQL מרוחק.
יש לי ידע בC# וVBA, יש לי ניסיון בAcces ו SQL-Server. הצלחתי כבר לכתוב תוכנה שמתקשרת עם בסיס נתונים מקומי (SQL-Server על המחשב שלי). השאלה היא איך אני מעביר את בסיס הנתונים לרשת? איך פותחים שרת (בתשלום או חינם) ומעלים את בסיס הנתונים? והאם כל מי שיש לו את ה ConnectionString יכול לגשת לבסיס הנתונים כאוות נפשו? -
שלום וברכה,
אני מחפש מדריך לכתיבת אפליקציה בסיסית ביותר, למשל ניהול ספר טלפונים בטופס יחיד (2 שדות: שם וטלפון)
הFrontEnd יכול להיות שולחני או web. הBackEnd צריך לשבת על שרת SQL אינטרנטי (לא מקומי)
מישהו יכול לכוון אותי? -
שאלה פשוטה, מישהו יודע אם אפשר להתקין עברית למכשיר הנ"ל? לא רק למקלדת, גם למערכת ההפעלה
-
גם לי זה קרה עם שני מדפי פלסטיק של מקרר שארפ, בסוף לקחתי את המדף השבור למסגרית זכוכית והכינו לי מדף זכוכית באותה הצורה בעובי 8mm זה לא היה יקר כל כך, אולי 60 שח למדף? ומאז אני מרוצה.
אבל אני לא יודע אם זכוכית מתאימה גם למקפיא. -
@אבי אמר בUpScaling לבסיס נתונים של Access:
@OdedDvir אמר בUpScaling לבסיס נתונים של Access:
הסיבה שאני רוצה לעבור לweb זה דרישת הלקוחות שלי (שעובדים עם התוכנה מזה כשנתיים) לאפשר גישה לתוכנה גם לאנשי קשר שלהם בחוץ-לארץ.
אם זו הסיבה, אתה לא צריך לכתוב הכל מחדש, יש כמה פתרונות כדי לשתף את התוכנה שיוכלו לעבוד על זה מכל מקום כאילו היה אפליקציה וובית.
אשמח אם תוכל לספק יותר מידע על כך, אתה מתכוון לשליטה מרחוק כמו TeamViewer? כי אני לא מעונין לתת גישה לכל המחשב המארח...
-
@clickone אמר בUpScaling לבסיס נתונים של Access:
@OdedDvir אמר בUpScaling לבסיס נתונים של Access:
לאפשר גישה לתוכנה גם לאנשי קשר שלהם בחוץ-לארץ
מה אנשי הקשר צריכים? גישה לכלל הממשק?
אם הם לא צריכים גישה להכל, הייתי בשלב ראשון מעביר את הטבלאות לSQL SERVER ומחבר אותם לאקסס עם ODBC, ובונה בשבילם רק את הטפסים שהם צריכים.זה באמת רעיון מצוין לאפשר להם רק FE מותאם לדרישותיהם. וזה כנראה השלב הראשון שאני מעוניין בו. אבל לא הבנתי היכן ישב שרת ה-SQL? אם בווב אז ממילא גם למשתמשים כאן יש צורך לקשר את הטבלאות בODBC ולכתוב מחדש ואז כבר אפשר לתת גם לאלו שבחו"ל את אותו FE, לא?
@OdedDvir אמר בUpScaling לבסיס נתונים של Access:
יש מעט חלקים של מניפולציה של פקדים (בעיקר נעילה או הסתרה),
קח בחשבון שבווב אתה לא יכול להסתמך על נעילת / הסתרת פקדים, כי כל אחד יכול פשוט ללחוץ קליק ימני, בדוק, ולשחרר / להציג את הפקד.
לגבי שאר הדברים הייתי ממש הולך על C# בלוגיקה,
ועל אנגולר + ASP MVC + JSON בצד הלקוחזה מה שרציתי לדעת, אילו טכנולוגיות כדאי ללמוד!
אולי יהיה לך יותר קל שצד הלקוח יהיה asp web forms אבל זה מלכודת דבש
לא הבנתי מה הפירוש...
-
@clickone הסיבה שאני רוצה לעבור לweb זה דרישת הלקוחות שלי (שעובדים עם התוכנה מזה כשנתיים) לאפשר גישה לתוכנה גם לאנשי קשר שלהם בחוץ-לארץ. חשוב שהגישה שלהם תהיה קודם כל נוחה, ושלא תצריך לימוד מחדש של כל הממשק.
הקוד של התוכנה ברובו די פשוט, יש מעט חלקים של מניפולציה של פקדים (בעיקר נעילה או הסתרה), יש חלק מסויים של יצירת שאילתות על ידי VBA. יש המרה של תאריך לועזי לעברי אבל בגדול זה לא בשמים.
הלוגיקה הכבדה ביותר היא במודול של קליטת נתונים מקובץ אקסל חיצוני. יש לבצע בדיקות של תקינות הנתונים, ולהריץ כמה שאילתות מורכבות, ליצור טבלאות חדשות בבסיס הנתונים שישמרו עותק של כל הרשומות שנקלטו עם תוצאת היבוא.
ולגבי מה שכתבת על כך שהגעתי למקום הנכון - אני בהחלט מרגיש ככה לאור הנכונות של כולם לעזור ולתרום! -
אני מנחש שזה בגלל שהממשק הגרפי יותר מתקדם מבחינת יכולות? לפי הבנתי WPF עובד יותר בכיוון של XAML האם אני חוזר לכתיבת תגיות וקוד כדי לעצב את הטופס (זה מזכיר לי נשכחות כשכתבו דפי web בעורך טקסט) או שישנה סביבה נוחה לפיתוח טפסים בWPF בדומה לעורך הטפסים של WinForms הקיים בVisualStudio? ברור לי שאת הפונקצונאליות אני אצטרך לקודד בעצמי.
-
@dovid אישית אני נוטה יותר לכיוון של פיתוח מערכת שולחנית, כי אני מאוד רוצה לעבוד עם C# ודיי חושש מלהתחיל ללמוד JavaScript... החלום שלי הוא לפתח את הFE בC#, את הטפסים בסביבת VisualStudio מבחינתי WinForms נותן לי פונקצונאליות מספקת לממשק שנדרש, להעביר את הנתונים שלי לSQL-Server' ולבצע קריאות לבסיס הנתונים בweb ישירות מהקוד. האם זוהי גישה מיושנת מידי? האם אני אהיה מוכרח ללמוד JS?
-
יש כחצי מהטפסים עם קוד VBA
-
@dovid למעלה מ70 טפסים, ועוד כ-10 דוחות
אקסס | RecordCount מחזיר ערך לא נכון
אקסס | RecordCount מחזיר ערך לא נכון
אקסס | RecordCount מחזיר ערך לא נכון
אקסס | RecordCount מחזיר ערך לא נכון
דיון: SQL: שם מועדף למפתח ראשי ומפתח זר
דיון: SQL: שם מועדף למפתח ראשי ומפתח זר
דיון: SQL: שם מועדף למפתח ראשי ומפתח זר
UpScaling לבסיס נתונים של Access
מדריך FullStack לפיתוח אפליקציה בסיסית ביותר
מדריך FullStack לפיתוח אפליקציה בסיסית ביותר
מדריך FullStack לפיתוח אפליקציה בסיסית ביותר
עברית לAmazon Kindle 7
מדף למקרר
UpScaling לבסיס נתונים של Access
UpScaling לבסיס נתונים של Access
UpScaling לבסיס נתונים של Access
UpScaling לבסיס נתונים של Access
UpScaling לבסיס נתונים של Access
UpScaling לבסיס נתונים של Access
UpScaling לבסיס נתונים של Access