webForumDet fria alternativet

Fyrkant efter text (radmatning)

.NET

8 svar · 1 388 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Hej,

Jag vet inte om detta är helt rätt forum, om inte, flytta till rätt, tack!

Jag har läst in en textfil till en tabell. är jag tittar i Windowsapplikationen, så avslutas testxten med en liten fyrkant. Markerar jag den och klistrar in den i notepad, blir det en radmatning. Likadant i Word.

Bifogad bild visar hur det ser ut i applikationen.

Hur kan jag få bort det?

Mvh
Henrik

fyrkant.png
Medlem sedan jan. 20013 582 inlägg
#2

Ingen? :)

Medlem sedan dec. 20025 483 inlägg
#3
function trim(value)
  set re = new regexp
  re.pattern = "(?:^(?:\s|\n|\r)+)|(?:(?:\s|\n|\r)+$)"
  re.global = true
  trim = re.replace(value, "")
end function

mystring = trim(mystring)
Medlem sedan jan. 20013 582 inlägg
#4

Aha!

Kan man göra detta direkt i SQL-server, eller får jag göra det mha vb-script? :)

Medlem sedan dec. 20025 483 inlägg
#5

Antingen skriver man en UDF som sköter detta, eller så i applikationen. Jag skulle nog filtrera bort det innan det skickas in i databasen.

Medlem sedan jan. 20013 582 inlägg
#6

Problemet är att det redan "hamnat" i databasen...... :e

Men, ett lite vb-script som fixar biffen kanske....

Mvh
Henrik

Medlem sedan jan. 20013 582 inlägg
#7

Då kanske denna skulle haman i något ännat finfint forum, då jag löste det med en funktion i vb-script!

Medlem sedan juni 200032 967 inlägg
#8

Jag flyttar väl från SQL då, om du berättar hur lösningen blev. :)

mvh

Medlem sedan jan. 20013 582 inlägg
#9

Så här gjorde jag:


'*************************************************************

option explicit
'Funktion som tar bort radmatningstecken
function trimVbCrLf(value)
	dim re
	set re = new regexp
	re.pattern = "(?:^(?:\s|\n|\r)+)|(?:(?:\s|\n|\r)+$)"
	re.global = true
	trimVbCrLf = re.replace(value, "")
end function

'*********************************
' main()
'*********************************
sub main()

	dim sSQL, Conn, Rs
	dim sTask, lId
	
	'Skapa objekt
	Set Conn=CreateObject("ADODB.Connection")
	Conn.Open Application.sDbConnectionString
	
	Set Rs=CreateObject("ADODB.Recordset")
	
	sSQL= "SELECT [Id], [Task] FROM [tblContractTemplate]"
	
	Rs.Open sSQL, Conn
	
	'Om det inte finns några poster, avsluta suben
	If Rs.EOF then exit sub
	
	'tömma variabeln
	sSQL=""
	
	'Loopa ut alla uppdragsidena
	while Not Rs.EOF
		lId=Rs("Id")
		sTask=trimVbCrLf(Rs("Task"))
		sSQL= sSQL & "UPDATE tblContractTemplate SET Modified = GetDate(), Task = '" & sTask & "' WHERE [Id] = " & lId & ";"
		Rs.MoveNext
	wend
	Conn.Execute sSQL,,128
	
	'Förstöra objekten
	Rs.Close
	Set Rs=Nothing
	Set Conn=Nothing
	
	'Klart!
	MsgBox "Radbrytningar har tagits bort!"
	Call Refresh()
	
end sub
498 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
366 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)