Neuigkeiten:

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

Mobiles Hauptmenü

Aktualisierungsabfragen mit mehreren Kriterien

Begonnen von silentwolf, Oktober 23, 2015, 11:46:22

⏪ vorheriges - nächstes ⏩

silentwolf

Hi nochmal,
denke an folgendes kann man eine funktion erstellen die z.B. so aussehen würde.
"Stimmt nicht so nur als Gedanke!"
Wenn ein Teil eines Textes in string gegeben dann verwende die functionA, wenn ein anderer text dann functionB und soweiter?
Function TextAufbereiten(strText As Variant) As Variant
       
    If IsNull(strText) Then
        FirstSlashRight = Null
    IIF
        strText = *Überweisung* then
        functionA
     IIF
       strText =*Allianz* AND *Mandatsnummer* then
       functionB
        End If
    End If
End Function


dieser Code stimmt natürlich nicht aber kann man so etwas machen? Und wie könnte so ein Code aussehen oder ist das ganz verkehrt es so zu versuchen?

LG


MaggieMay

Hi,

ich hatte bereits den Vorschlag gemacht, dass du der Funktion per Parameter auch gleich mitgeben solltest, wonach du suchst.
Das sähe dann bspw. so aus:
Function TextAufbereiten(strText As Variant, strLookUp As String) As Variant
    If NZ(strText,"") = "" Then
        TextAufbereiten = Null
    ElseIF InStr(strText, strLookUp) = 0 Then
        TextAufbereiten = Null
    Else
        ' Suchbegriff gefunden -> weitere Analyse + Rückgabe des gesuchten Wertes
    End If
End Function


Weitere Funktionen werden nicht benötigt, du kannst alles in einer abhandeln.
Freundliche Grüße
MaggieMay

silentwolf

Hi Maggie,
danke vorerst mal für Deine Nachricht!
Tut mir leid aber wie ich das nun genau anwenden soll das verstehe ich noch nicht...
Wie kann ich mit dieser function nun teile aus dem string in eine andere Spalte übergeben?
Ma tut mir echt leid aber bin ganz durcheinander  :-\
Bei Deinem Code brauche ich strText und strLookUp nicht zu ändern?
Muss dann nach dem ElseIF Inst(strText, strLookUp) ="Suchbegriff"
eingeben oder?
Und wie bekomme ich nun verschiedene Werte aus dem String in verschiedene Spalten?
Schwere Geburt ich weis! Tut mir auch leid aber das ist noch etwas schwierig für mich!

LG




MaggieMay

Als erstes solltest du vielleicht mal die Access-Hilfe befragen was bspw. eine Funktion wie Instr an Input erwartet und als Rückgabewert liefert. Gleiches gilt für die Syntax von SQL-Abfragen.
Dann würden sich derartige Rückfragen:
ZitatMuss dann nach dem ElseIF Inst(strText, strLookUp) ="Suchbegriff"
eingeben oder?
und
ZitatDein erster Code soll das ein Array sein oder wie?
wohl erübrigen.

Mein Ansatz in dieser Angelegenheit wäre folgender:
- schreibe eine Funktion, die aus dem Text (= ein Datensatz) anhand eines Suchbegriffs den zu übernehmenden Wert ermittelt
- schreibe eine Anfügeabfrage, in der diese Funktion zum Einsatz kommt

Hier noch einmal das Beispiel für den SQL-Code der Anfügeabfrage:
Insert Into zieltabelle (feld1, feld2, feld3)
Select getValue(feld, "Creditor ID"), getValue(feld, "Mandatsnummer:"), getValue(feld, "Auftraggeberreferenz:")
From csvTabelle

Hier werden also neue Datensätze an die Zieltabelle angefügt, wobei die Felder feld1 bis feld3 in der Zieltabelle mit dem jeweiligen Rückgabewert des Funktionsaufrufs belegt werden.

Das ist wie gesagt nur ein Beispiel, um dir die von mir vorgeschlagene Vorgehensweise zu veranschaulichen.
Freundliche Grüße
MaggieMay

silentwolf

Hallo,
danke für die Erklärung!
Ich werde mal schaun wie ich es hinbekomme!

Vielen herzlichen Dank!

LG