---
title: "Jämföra strängar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/140147-jämföra-strängar"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "devotion"
published: "2006-01-01T16:05:13.000Z"
updated: "2006-01-04T10:51:30.000Z"
replies: 9
views: 505
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/140147-jämföra-strängar"
---

# Jämföra strängar

## #1 — devotion, 2006-01-01T16:05Z

:birp 
Hej på er alla glada wf:are...

Det närmar sig...

Har följande kod som kontrollerar om ett databasfät är tomt och ´därmed anpassar koden:

Koden ligger inom en loop.

```
'Kontrolera om fältet Task är tomt
		sSQL = "SELECT Task FROM tblTask WHERE Id = " & iNewTaskId 
		Set objRS = objConn.Execute(sSQL)
		
		if not objRS.EOF then 
   			if "" & objRS("task") <> "" then sTask = vbCrlF & sTask
		End If	
		
		objRS.Close
		Set objRS = Nothing
```

Jag skulle väldigt gärna vilja ha hjälp med att bygga ut den koden för att även jämföra strängarna med varandra. 

är strängen som loopas ut lika med den som finns i databasen behöver inget göras. Skiljer sig dom skall det bli en radbrytning och den utloopade strängen skall skrivas till databasen... Den utloopade strängen heter sTask....

Tack på förhand!

Mvh
henrik

Permalänk: https://www.webforum.nu/p/140147

## #2 — Peter S, 2006-01-01T21:50Z

Vilka är sträng*arna*? Vad vill du göra med sTask efter kodblocket du postat?

Permalänk: https://www.webforum.nu/p/1737640

## #3 — lilja, 2006-01-02T01:06Z

Äh, jag ger också upp. Försök precisera lite bättre så kan vi nog komma fram till en lösning...

Permalänk: https://www.webforum.nu/p/1737681

## #4 — devotion, 2006-01-02T07:57Z

:)

Ja, det är så svårt att förklara i text.... 

sTask är det det "nya" värdet som loopas ut. (det handlar om sammanfogning av uppdrag)

sTask ska skrivas till det nya sammanfogade uppdraget. 

Jag vill därför jämföra sTask med det som redan står i databasen objRS("Task")

Efter kodblocket skall sTask skrivas till databasen....

Komplett kod finns i asp-forumet 
<http://www.webforum.nu/showthread.php?p=1137341#post1137341>

Mvh
henrik

Permalänk: https://www.webforum.nu/p/1737710

## #5 — lilja, 2006-01-02T14:47Z

Hmm, jag tycker du verkar göra på ett ganska krångligt sätt...

Kan du inte bara i en tabell skapa alla kolumner (jobbnummer (=unikt nummer), projektnummer, tid, material, osv). Sen om du vill sammanfoga hämtar du alla uppdragsnummer som är samma.

Alltså jobbnummret är id-nummret för alla poster. Projektnummret kan sedan vara, kanske 14, som är projektnummret-nummret för att bygga ett hus. Därav kan en massa olika personer använda 14 om det är samma projekt. Om du sedan vill ha ordning på projekten så gör du en ny databas där projektnummret är unikt och där du kanske sparar namn på projekten...

Är detta ungefär vad du vill göra?? Har jag förklarat någorlunda tydligt eller är det bara en enda stor röra?? :P

Permalänk: https://www.webforum.nu/p/1737853

## #6 — devotion, 2006-01-02T17:39Z

Hej! 
Probemet, som så många gånger varit uppe, är att jag jobbar i en befintlig databasstruktur som tyvärr inte går att ändra.. det jag har, har jag sas...  :)

Jag ska återkomma medlite bättre förklaring och kod senare...

Mvh
henrik

Permalänk: https://www.webforum.nu/p/1737929

## #7 — Peter S, 2006-01-02T17:53Z

Jämför du inte strängarna här

```
		if not objRS.EOF then 
   			if "" & objRS("task") <> "" then sTask = vbCrlF & sTask
		End If
```

?

Om strängarna är lika kommer ju sTask att vara lika med tblTask.Task där tblTask.Id = iTaskId.

Uppdateringen gör du väl med

```
		sSQL = "UPDATE tblTask Set Status = " & iTaskStatus & ", RemoteId = " & iRemoteId & ", CreatedBy = '" & sCreatedBy & "', TaskNr = '" & sTaskNr & "', " &_ 
			   "PlanDateType = " & iPlanDateType & ", PlanStartDate = #" & dPlanStartDate & "#, PlanStopDate = #" & dPlanStopDate & "#, User = '" & sUser & "', " &_
			   "CustomerNr = '" & sCustomerNr & "', CustomerName = '" & sCustomerName & "', CustomerRef = '" & sCustomerRef & "', Task = Task & '" &  sTask  & "', " &_
			   "CustomT1 = '" & sCustomT1 & "', CustomT2 = '" & sCustomT2 & "', CustomT3 = '" & sCustomT3 & "', " &_
			   "Action = Action & '" & sAction & "', CustomA1 = '" & sCustomA1 & "', CustomA2 = '" &  sCustomA2 & "', " &_
			   "CustomA3 = '" & sCustomA3 & "', StartDate = #" & dStartDate & "#, StopDate = #" & dStopDate & "#, Log = Log & '" & vbCrLf & sLog & "', " &_
			   "Object1Nr = '" & sObject1Nr & "', Object1Name = '" & sObject1Name & "', Object2Nr = '" & sObject2Nr & "', Object2Name = '" & sObject2Name & "', " &_
			   "Object3Nr = '" & sObject3Nr & "', Object3Name = '" & sObject3Name & "', Object4Nr = '" & sObject4Nr & "', Object4Name = '" & sObject4Name & "' " &_
			   "WHERE Id = " & iNewTaskId & ""
			  
		objConn.Execute sSQL,, 128
```

Permalänk: https://www.webforum.nu/p/1737934

## #8 — devotion, 2006-01-02T18:45Z

Den biten kollar om tblTask.Task är tom, är den inte det så läggs en radbrytning in innan nästa sTask läggs in. Är tblTask.Task tom så läggs bara sTask in utan radbrytning.

Det är denna kod jag vill utöka för att inte bara kolla om tblTask.Task är tom utan även jämföra det som redan står med det som eventuellt skall puttas in...

Mvh
henrik

Permalänk: https://www.webforum.nu/p/1737951

## #9 — @nders, 2006-01-02T19:47Z

Även här är jag lite osäker på om jag förstår. :D

Vill du endast göra uppdatering om inte det som redan står i fältet är det du vill stoppa in? I så fall:

```
if "" & objRS("task") <> sTask then
      if "" & objRS("task") <> "" then sTask = vbCrlF & sTask
      ' gör update, etc
     ...
end if
```

Har jag tolkat rätt?

mvh

Permalänk: https://www.webforum.nu/p/1737973

## #10 — devotion, 2006-01-04T10:51Z

Hej!   :)   

Efter lite trixande och hjälp från väster så har jag denna kod som fungerar...

```
'Kontrollera om fältet tblTask.Task är tomt. Är det inte tomt jämförs sTask med sPrevTask
		sSQL = "SELECT Task FROM tblTask WHERE Id = " & iNewTaskId 
		Set objRS = objConn.Execute(sSQL)
		
		sPrevTask = "" & objRS("Task")
		
		If not objRS.EOF then
			if sPrevTask <> "" then
				if sPrevTask <> sTask then sTask = sPrevTask & vbcrlf & sTask
			end if
		End If

		objRS.Close
		Set objRS = Nothing
```

Mvh
Henrik

Permalänk: https://www.webforum.nu/p/1738507

---

Tråden på webben: https://www.webforum.nu/amne/asp/140147-jämföra-strängar
