[sql] update querie tekst veranderen

Pagina: 1
Acties:
  • 145 views sinds 30-01-2008
  • Reageer

  • brokenp
  • Registratie: December 2001
  • Laatst online: 09:56
Hallo allemaal,

Ik heb een MS acces database probleem,

Ik heb een tabel met 4 kollomen
(ID, aantal, omschrijving, aantalOUD)
Er zijn in het verleden een aantal omschrijvingen ingevoerd. Deze waren gebaseerd op het aantal oud dus als bijv
aantalOUD=110 dan zou de omschijving "110 woningen, met 87 een uitbouw" kunnen zijn.

Nu zou ik graag in deze tekst het getal 110 wijzigen in de waarde die bij aantal staat dus als aantal =65 dan
"65 woningen , met 87 een uitbouw"
Dat de rest niet klopt dat kan, het wordt toch nog gecontroleerd.

Ik heb al wel wat bedacht:
code:
1
2
UPDATE bla SET bla.omschrijving = [aantal] & [omschrijving]
WHERE (((bla.omschrijving) Like [aantalOUD] & "*"));

Maar met deze querie haal ik die 110 niet weg.
Is het mogelijkom iets in de trand van het volgende te doen:
code:
1
2
UPDATE bla SET bla.omschrijving = [aantal] & [*]
WHERE (((bla.omschrijving) Like [aantalOUD] & "*"));

Oftewel om bij een like querie de resterende string op te vragen?

En ja ik heb de search en Google gebruikt, maar misschien heb ik net de verkeerde woorden gebruikt....

en weet wel hoe ik het zou kunnen tackelen, ik zou in VBA wat kunnen scripten, maar doe het liever in SQL.

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Waarom sla je berekende velden op in je DB?
Waarom sla je die hele zin op in de DB? Dat zijn dingen die daar niet horen, maar die je aan de client-kant moet doen.

https://fgheysels.github.io/


  • brokenp
  • Registratie: December 2001
  • Laatst online: 09:56
Het zijn geen berekende velden, het zijn tekst velden die in een applicatie door een noob gebruiker geschreven zijn. In de omschrijving kan van alles staan, deze gebruiker heeft echter overal in het begin het aantal woningen gezet... Nu deze aantallen zijn veranderd moet dit aangepast worden. De resterende tekst van de omschrijving is wel uniek, dus die moet bewaard blijven.
De tabel die ik schets met die 4 waarden is ook het resultaat van wat gequerie en is dus geen echte tabel.
Ik heb deze gegevens nu aangeleverd gekregen, en moet dit eenmalig omzetten zodat het enigszins kloppend is. Omdat het slechts eenmalig is heb ik geen zin om dit te gaan scripten.

  • pistole
  • Registratie: Juli 2000
  • Laatst online: 15:52

pistole

Frutter

Replace («stringexpr», «find», «replace», «start», «count», «compare»)
dus misschien dat hetvolgende statement jouw oplossing is?

SQL:
1
2
3
4
UPDATE 
    bla 
SET 
    bla.omschrijving = replace( bla.omschrijving, bla.aantalOUD, bla.aantal)

Ik frut, dus ik epibreer