webForumDet fria alternativet

Uppdatera och radbrytning

14 svar · 409 visningar · startad av devotion

devotionMedlem sedan jan. 20013 582 inlägg
#1

:e
Hej!

Hej kan man uppdatera delar av ett värde i ett fält? Jag har ett noteringsfält, där jag lägger in uppgifter var en artikel är inköpt. Men det kan ju även finnas ändra uppgifter där som jag s a s vill ha kvar.

Exempel:
I fältet står följande:
Artikel inköpt hos Storel
Obs! pris 300 kr

Sedan uppdaterar jag posten dvs ändrar leverantör till Solar. Då vill jag att et ska stå:
Artikel inköpt hos Solar
Obs! Pris 300 kr

dvs endast inköpsinformationen skall ändras det andra ska stå kvar!

Hur kan man lösa detta?

Sedan undrar jag hur man lägger in "radbrytningar" i databasen. Jag vill ju att alla noteringar ska skrivas ut under varandra inte som en enda lång sträng?

Databas Access

Mvh
Henrik

@ndersMedlem sedan juni 200032 969 inlägg
#2
update tbl set fält = replace(fält, 'Storel', 'Solar')

Hur ska du veta var radbrytningarna ska vara?

devotionMedlem sedan jan. 20013 582 inlägg
#3

hej!

Det är väl det som är det kluriga... finns det redan text i fältet behöver det ju infogas en radbrytning innan nästa text ska in, men är det ingen text i fältet så behövs det ju ingen radbrytning liksom...

Henrik

@ndersMedlem sedan juni 200032 969 inlägg
#4

Lägg in en radbrytning först i strängen du infogar?

Antingen kan du göra en select först för att se om fältet är tomt (null?) eller så kan du kolla med ett iif-uttryck direkt i update-frågan om fältet är tomt (null?).

Eller helt enkelt tycka att det är OK med en radbrytning först i fältet, och ta bort det vid presentationen.

devotionMedlem sedan jan. 20013 582 inlägg
#5

ja det skulle ju funka, hur gör man det?

@ndersMedlem sedan juni 200032 969 inlägg
#6

Har redigerat mitt inlägg ovan.

Var gör du updates ifrån? asp-kod?

strFoo = vbcrlf & strFoo
devotionMedlem sedan jan. 20013 582 inlägg
#7

ja, från asp-kod!

Om det är första posten så får ju även den en radbrytning... Hur gör man för att få bort den när man skriver ut datat, så det blir snyggt ;)

Henrik

@ndersMedlem sedan juni 200032 969 inlägg
#8

Om du inte läste min redigering ovan:

@nders skrev:

Antingen kan du göra en select först för att se om fältet är tomt (null?) eller så kan du kolla med ett iif-uttryck direkt i update-frågan om fältet är tomt (null?).

Annars kan man ju kanske göra så här:

strFoo = replace(strFoo, vbcrlf, "<br>")
if left(strFoo, 4) = "<br>" then strFoo = right(strFoo, len(strFoo) - 4)
devotionMedlem sedan jan. 20013 582 inlägg
#9

Oj, nä jag tittade i fel inlägg tydligen... :)

Jag tycker nog lösningen med att kolla direct i sql med en iif-uttryck vore det snyggaste...
Då är ju datat rätt och klart, behöver man inte göra något med det när man skriver ut det...

Hur skulle en sådan select se ut....

Mvh
Henrik

@ndersMedlem sedan juni 200032 969 inlägg
#10

Det var inte select-frågan jag tänkte på, utan updaten.

Men jag förstår inte riktigt meningen med att lagra flera saker i samma fält? :)

devotionMedlem sedan jan. 20013 582 inlägg
#11

nä, inte jag heller, men nu har dom som gjort databasstrukturen bestämt att det ska vara så...

Oj, updaten menar jag ju givetvis...

strSQL = "UPDATE tblmaterial SET Modified = #" & Now() & "#, ArtNr = '" & strEnumber & "', ArtName = '" & strArticleName & "', Price = " & iArticlePrice & ", [Note] = '" & strNote & "' " &_
	  	 "WHERE Id = " & iArticleId & ""

//H

devotionMedlem sedan jan. 20013 582 inlägg
#12

Någon som har lust att hjälpa till med iifsats... :)

devotionMedlem sedan jan. 20013 582 inlägg
#13

hmmm, funkar inte riktigt...

strSQL = "UPDATE tblmaterial SET Modified =  Now(), ArtNr = '" & strEnumber & "', ArtName = '" & strArticleName & "', Price = " & iArticlePrice & ", " &_
		 "[Note] = replace([Note], 'Ahlsell', '" & strNote & "') " &_
	  	 "WHERE Id = " & iArticleId
objConn.Execute strSQL,, 128

Ger:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Odefinierad funktion 'replace' i uttryck.
/uppdragNu/updateArticle.asp, line 94

Finns det inte stöd för replace i MsJet (access)

Mvh
Henrik

@ndersMedlem sedan juni 200032 969 inlägg
#14

Hmm, det kanske inte gör det?

Då får du nog hämta ut innehållet, och göra replacen i ASP-koden, och sedan ställa en UPDATE-fråga.

mvh

devotionMedlem sedan jan. 20013 582 inlägg
#15

okodoki... testar det....

Mvh
Henrik

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)