Supportnet / Forum / Datenbanken
Replace in SQL mit Access 97
Frage
Hi
ich brauche eine Idee, wie in Access97 eine Abfrage wie diese abgebildet werden kann:
SELECT s.Artikelnummer, REPLACE(s.Artikelnummer," ","-") AS BildANR
FROM Artikelstamm AS s
Antwort 1 von Teddy7
Machs über den Abfrageassistenten - Aktualisierungsabfrage.
Gruß
Teddy
Gruß
Teddy
Antwort 2 von ml30003
Hi Teddy,
würd ich ja gerne machen. Die basieren doch letztendlich auch nur auf nem SQL Statement, oder? Und da geht eben das REPLACE nicht. Jedenfalls nicht in Access97.
Was könnt ich denn noch probiern?
Bin für Tipps dankbar.
würd ich ja gerne machen. Die basieren doch letztendlich auch nur auf nem SQL Statement, oder? Und da geht eben das REPLACE nicht. Jedenfalls nicht in Access97.
Was könnt ich denn noch probiern?
Bin für Tipps dankbar.
Antwort 3 von Teddy7
Ach so - Du willst innerhalb eines Feldes ein Zeichen ersetzen.
Wenn´s ein einmaliger Vorgang ist empfehle ich, in die Tabelle zu gehen (Datenanzeigen) und dann bearbeiten - suchen/ersetzen zu nutzen.
Sonst sehe ich nur zwei Möglichkeiten: entweder Du schreibst Dir eine einene (globale) function, die den übergebenen Text Zeichenweise abklopft, verändert und zurückgibt,
oder Du machst das ganze in einer Abfrage. Dazu kannst Du ín einer zusätzlichen Spalte mit instr die Position der Leerstelle ermitteln und in einer weiteren zusätzlichen Spalte die Daten als string-Operation wieder zusammenfügen.
xpos: instr(Textfeld," ")
xneu: left(Textfeld, xpos - 1) & "-" & right(textfeld, len(Textfeld) - xpos)
oder so ähnlich
Gruß
Teddy
Wenn´s ein einmaliger Vorgang ist empfehle ich, in die Tabelle zu gehen (Datenanzeigen) und dann bearbeiten - suchen/ersetzen zu nutzen.
Sonst sehe ich nur zwei Möglichkeiten: entweder Du schreibst Dir eine einene (globale) function, die den übergebenen Text Zeichenweise abklopft, verändert und zurückgibt,
oder Du machst das ganze in einer Abfrage. Dazu kannst Du ín einer zusätzlichen Spalte mit instr die Position der Leerstelle ermitteln und in einer weiteren zusätzlichen Spalte die Daten als string-Operation wieder zusammenfügen.
xpos: instr(Textfeld," ")
xneu: left(Textfeld, xpos - 1) & "-" & right(textfeld, len(Textfeld) - xpos)
oder so ähnlich
Gruß
Teddy
Antwort 4 von erik
Die Replace-Funktion wird erst ab Access 2000 unterstützt. In Access 97 kannst du dir jedoch eine eigene Replace-Funktion bereitstellen. Eine richtig schnelle Version findest du unter diesem Link, die ich auch in alten Access 97-Projekten noch nutze:
http://vb-tec.de/replace.htm
Lege am besten ein neues Modul namens "modReplace" an und kopiere von der Webseite jeden Codeblock in dein Modul. Danach musst du nur noch Replace nach dem ab Access 2000 üblichen Schema aufrufen:
Rückgabewert = Replace(SucheIn, SucheWas, ErsetzeDurch)
http://vb-tec.de/replace.htm
Lege am besten ein neues Modul namens "modReplace" an und kopiere von der Webseite jeden Codeblock in dein Modul. Danach musst du nur noch Replace nach dem ab Access 2000 üblichen Schema aufrufen:
Rückgabewert = Replace(SucheIn, SucheWas, ErsetzeDurch)

