דף 1 מתוך 2

שאלה למומחים בפיתוח או באקסל

נשלח: 01:16 29/06/2018
על ידי גבאי
אני מעונין לעשות הקראת נתונים (במודול הקראת נתונים) ללקוחות. אבל לא רק שורה אחת לכל מספר טלפון אלא כמה וכמה שורות. (משתנה לכל לקוח כמובן, חלק שורה אחת חלק כמה שורות) כלומר יש לי טבלה באקסל שיש בה רשימות עם מספרי טלפון שחלק מהמספרים הם כפולים (כלומר אותו לקוח) איך אני עושה שכל לקוח יכנס וישמע את כל הנתונים שבטבלה.
האם יש לזה פיתרון במערכת של ימות המשיח.
או שאולי אפשר לעשות נוסחה באקסל (או ואפי' עדיף באקסס) שתצרף את כל השורות שיש לכל לקוח לשורה אחת וזה יקריא את הכל.
אשמח מאוד לעזרת הציבור

Re: שאלה למומחים בפיתוח או באקסל

נשלח: 01:19 29/06/2018
על ידי אאד
כדאי מאוד שתבאר יותר
dushi.aad@gmail.com

Re: שאלה למומחים בפיתוח או באקסל

נשלח: 01:10 02/07/2018
על ידי חוקר
אני מעונין לעשות הקראת נתונים (במודול הקראת נתונים) ללקוחות. אבל לא רק שורה אחת לכל מספר טלפון אלא כמה וכמה שורות. (משתנה לכל לקוח כמובן, חלק שורה אחת חלק כמה שורות) כלומר יש לי טבלה באקסל שיש בה רשימות עם מספרי טלפון שחלק מהמספרים הם כפולים (כלומר אותו לקוח) איך אני עושה שכל לקוח יכנס וישמע את כל הנתונים שבטבלה.
האם יש לזה פיתרון במערכת של ימות המשיח.
או שאולי אפשר לעשות נוסחה באקסל (או ואפי' עדיף באקסס) שתצרף את כל השורות שיש לכל לקוח לשורה אחת וזה יקריא את הכל.
אשמח מאוד לעזרת הציבור
באקסל אני לא מכיר אבל ב PHP/API אני לא רואה בעיה.
לעשות משהו בצורה שישלוף מהטבלה בד"ב את כל השורות של מספר טלפון זה, ואז לולאה שעוברת על כל השורות ומחברת מהם יחד את ההודעה שתושמע לו

Re: שאלה למומחים בפיתוח או באקסל

נשלח: 07:56 02/07/2018
על ידי גבאי
אני מעונין לעשות הקראת נתונים (במודול הקראת נתונים) ללקוחות. אבל לא רק שורה אחת לכל מספר טלפון אלא כמה וכמה שורות. (משתנה לכל לקוח כמובן, חלק שורה אחת חלק כמה שורות) כלומר יש לי טבלה באקסל שיש בה רשימות עם מספרי טלפון שחלק מהמספרים הם כפולים (כלומר אותו לקוח) איך אני עושה שכל לקוח יכנס וישמע את כל הנתונים שבטבלה.
האם יש לזה פיתרון במערכת של ימות המשיח.
או שאולי אפשר לעשות נוסחה באקסל (או ואפי' עדיף באקסס) שתצרף את כל השורות שיש לכל לקוח לשורה אחת וזה יקריא את הכל.
אשמח מאוד לעזרת הציבור
באקסל אני לא מכיר אבל ב PHP/API אני לא רואה בעיה.
לעשות משהו בצורה שישלוף מהטבלה בד"ב את כל השורות של מספר טלפון זה, ואז לולאה שעוברת על כל השורות ומחברת מהם יחד את ההודעה שתושמע לו
תודה לכל העוזרים!
מצאתי פונקציה באקסס שעושה את זה
מי שמעונין אני יכול לצרף פה

Re: שאלה למומחים בפיתוח או באקסל

נשלח: 14:29 02/07/2018
על ידי י123
תודה לכל העוזרים!
מצאתי פונקציה באקסס שעושה את זה
מי שמעונין אני יכול לצרף פה
אשמח מאד שתצרף
תודה רבה

Re: שאלה למומחים בפיתוח או באקסל

נשלח: 14:48 02/07/2018
על ידי יוסל'ה
אשמח גם

Re: שאלה למומחים בפיתוח או באקסל

נשלח: 00:02 03/07/2018
על ידי גבאי
מצורף קישור לפורום פרוג שם ענו לי על זה
https://www.prog.co.il/threads/%D7%9C%D ... st-5646026

Re: שאלה למומחים בפיתוח או באקסל

נשלח: 14:16 03/07/2018
על ידי יוסל'ה
מישהו יכול להעתיק את זה לכאן??
זה חסום לי לגלישה
תודה למי שיכול לעזור

Re: שאלה למומחים בפיתוח או באקסל

נשלח: 15:24 03/07/2018
על ידי אאד
זה מה שראיתי
מספיק?
קרדיט ל @moishy
תוסיף את הקוד הזה למודול חדש.:

קוד: בחירת הכל

Option Compare Database

Public Function ConcatRelated(strField As String, _
strTable As String, _
Optional strWhere As String, _
Optional strOrderBy As String, _
Optional strSeparator = ", ") As Variant
On Error GoTo Err_Handler
'Purpose: Generate a concatenated string of related records.
'Return: String variant, or Null if no matches.
'Arguments: strField = name of field to get results from and concatenate.
' strTable = name of a table or query.
' strWhere = WHERE clause to choose the right values.
' strOrderBy = ORDER BY clause, for sorting the values.
' strSeparator = characters to use between the concatenated values.
'Notes: 1. Use square brackets around field/table names with spaces or odd characters.
' 2. strField can be a Multi-valued field (A2007 and later), but strOrderBy cannot.
' 3. Nulls are omitted, zero-length strings (ZLSs) are returned as ZLSs.
' 4. Returning more than 255 characters to a recordset triggers this Access bug:
' http://allenbrowne.com/bug-16.html
Dim rs As dao.Recordset 'Related records
Dim rsMV As dao.Recordset 'Multi-valued field recordset
Dim strSql As String 'SQL statement
Dim strOut As String 'Output string to concatenate to.
Dim lngLen As Long 'Length of string.
Dim bIsMultiValue As Boolean 'Flag if strField is a multi-valued field.

'Initialize to Null
ConcatRelated = Null

'Build SQL string, and get the records.
strSql = "SELECT " & strField & " FROM " & strTable
If strWhere <> vbNullString Then
strSql = strSql & " WHERE " & strWhere
End If

If strOrderBy <> vbNullString Then
strSql = strSql & " ORDER BY " & strOrderBy
End If

Set rs = DBEngine(0)(0).OpenRecordset(strSql, dbOpenDynaset)
'Determine if the requested field is multi-valued (Type is above 100.)
bIsMultiValue = (rs(0).Type > 100)

'Loop through the matching records

Do While Not rs.EOF
If bIsMultiValue Then
'For multi-valued field, loop through the values
Set rsMV = rs(0).value
Do While Not rsMV.EOF
If Not IsNull(rsMV(0)) Then

strOut = strOut & rsMV(0) & strSeparator 'Chr$(13) 'strSeparator'àí øåöéí ìäúçéì ùåøä çãùä áúåê äùãä ùîéí àú æä áî÷åí äîùúðä - âí áäîùê
End If
rsMV.MoveNext
Loop
Set rsMV = Nothing
ElseIf Not IsNull(rs(0)) Then

strOut = strOut & rs(0) & strSeparator 'Chr$(13)
End If
rs.MoveNext
Loop
rs.Close

'Return the string without the trailing separator.


lngLen = Len(strOut) ' - Len(strSeparator) 'àí ìà øåöéí ùéäéä îôøéã áñåó äùåøä îçæéøéí àú äîéðåñ
If lngLen > 0 Then
ConcatRelated = Left(strOut, lngLen)
End If

Exit_Handler:

'Clean up
Set rsMV = Nothing
Set rs = Nothing
Exit Function

Err_Handler:
MsgBox "Error " & Err.Number & ": " & Err.Description, vbExclamation, "ConcatRelated()"
Resume Exit_Handler
End Function
וככה תקרא לו בשאילתה:

קוד: בחירת הכל

Expr1: ConcatRelated("שדה","מטבלה","[קוד] = '" & [קוד1] & "'","",",")
הקוד הזה מכניס לשדה אחד כמה שורות עם אותו קוד לקוח.
אם יש צורך אפשר לשחק עם זה קצת שיכניס גם שדות נוספים מאותה שורה [לדוגמא, תאריך או יום].

Re: שאלה למומחים בפיתוח או באקסל

נשלח: 16:43 03/07/2018
על ידי יוסל'ה
תודה לך
חשבתי שזה פשוט יותר
איפוה אני עושה את זה באקסל או באקסס??
ואיפוה לרשום את זה?