Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Doppelte Information im String

Begonnen von Torsten., November 05, 2014, 13:23:46

⏪ vorheriges - nächstes ⏩

Torsten.

Hallo zusammen,
ich habe vor geraumer Zeit von Franz Hilfe zu http://www.access-o-mania.de/forum/index.php?topic=16795.msg96617#msg96617 erhalten:
In leicht abgewandelter Form in der Bezugstabelle komme ich nicht mehr zum optimalen Ergebnis - doppelte Info im String selbst.
Der Aufbau der Tabelle mit 3 Datenreihen:
artikel_nr:150|150|150
modell:hosen|hosen|jacke
Das Ergebnis, jetzt wie gewünscht nur noch 1 Datenreihe aber mit doppelter Information im String:
artikel_nr:150
modell:hosen, hosen, jacke

Sollte aber so aussehen:
artikel_nr:150
modell:hosen, jacke


SELECT tbl_zuordnung_test.artikel_nr, sqlliste("select modell from tbl_zuordnung_test where artikel_nr ='" & [artikel_nr] & "'") AS type INTO Tabelle_NEU
FROM tbl_zuordnung_test
GROUP BY artikel_nr;


Public Function SQLListe(ByVal SQL As String, _
  Optional ByVal SepR As String = ", ", Optional ByVal SepF As String = ";", _
  Optional ByVal NoNullFields As Boolean = True) As String
'
' Die Felder, die mit dem SQL-String gewonnen werden,
' werden feldweise mit SepF, datensatzweise mit SepR getrennt
' Wenn NoNullFields gesetzt ist, werden leere Felder unterdrückt
'
Dim db As DAO.Database, rs As DAO.Recordset, i As Long, Res As String, Tmp As String
  On Error Resume Next
  Set db = CurrentDb()
  Set rs = db.OpenRecordset(SQL, dbOpenSnapshot)
  If Err.Number <> 0 Then
    Res = "#Fehler"
    Err.Clear
  Else
    On Error GoTo 0
    Res = ""
    Do While Not rs.EOF
      Tmp = ""
      For i = 0 To rs.Fields.Count - 1
        If Not (NoNullFields And IsNull(rs(i))) Then Tmp = Tmp & SepF & rs(i)
      Next
      If Tmp <> "" Then Res = Res & SepR & Mid(Tmp, Len(SepF) + 1)
      rs.MoveNext
    Loop
    rs.Close
    If Res <> "" Then Res = Mid(Res, Len(SepR) + 1)
  End If
  SQLListe = Res
End Function



Gibt es die Möglichkeit zusätzlich eine Prüfung nach doppelten Zeichenfolgen durchzuführen und diese nicht zu listen?

Freundliche Grüße Torsten

MaggieMay

Hallo,

wie hast du denn die doppelten Artieklnummern eliminiert?

Das sollte sich doch ganz einfach mit Select DISTINCT modell From... lösen lassen.
Freundliche Grüße
MaggieMay

Torsten.

Hallo,
das vermute ich steckt in der SQLListe drinnen. Weiß aber nicht verbindlich.

Jetzt schreibst Du ...einfach mit Select DISTINCT modell From...
So einfach ist das nicht für mich.
Bitte helfe mir wenig weiter:
Wohin mit der Anweisung und was folgt nach From...

Gruß Torsten

DF6GL

Hallo,

naja, das sollte aber schon klar sein.....


(Wobei ich mit Deiner Beschreibung nicht ganz so klar komme)


So hat es MaggieMay  doch gesagt:

SELECT tbl_zuordnung_test.artikel_nr, sqlliste("select DISTINCT modell from tbl_zuordnung_test where artikel_nr ='" & [artikel_nr] & "'") AS type INTO Tabelle_NEU
FROM tbl_zuordnung_test
GROUP BY artikel_nr;

Torsten.

Hallo Franz,
ja da hätte ich auch als Laie drauf kommen können -

Vielen Dank Euch beiden.

Gruß Torsten