---
title: "Lägga till NULL i tal-fält i en databas"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/70293-lägga-till-null-i-tal-fält-i-en-databas"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Calippo"
published: "2003-03-07T07:15:09.000Z"
updated: "2003-03-07T08:53:33.000Z"
replies: 5
views: 357
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/70293-lägga-till-null-i-tal-fält-i-en-databas"
---

# Lägga till NULL i tal-fält i en databas

## #1 — Calippo, 2003-03-07T07:15Z

Har ett problem med tomma fält.

Det är så att jag hämtar data från en tabell och lägger in det i en annan tabell. Fälten är både text och tal.
Problemet är när ett tal-fält i käll-tabellen är tomt så stannar min loop och jag får felmeddelandet "Syntax error in INSERT INTO statement". 

Har ingen större lust o göra en massa If Then Else satser eftersom det rör sig om ca 100 fält i tabellen.

Databasen är en Access 2000 och talfälten är inställda så att dom inte är obligatoriska.

Ett ex. på hur koden ser ut

' öppnar upp käll tabellen och loppar igenom den
Do Until Rs.Eof
 SQLStmt = "INSERT INTO tblCars"
 SQLStmt = SQLStmt & "(strMake,intPrice,intTax)"
 SQLStmt = SQLStmt & " VALUES('"& Rs("strMake") &"'  , "& Rs("intPrice") &" , "& Rs("intTax") &")"
 Conn.Execute(SQLStmt)
 SET SQLStmt = Nothing
Rs.MoveNext
Loop

Om tex. Rs("intPrice") är tomt så får jag felmeddelandet...

Kan man känna av om Rs("intPrice") ="" och lägga till NULL istället?
Nån som vet hur man löser problemet?

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

## #2 — Vide, 2003-03-07T07:20Z

Lättast är väl om du ställer in att du får ha nullvärden i databasen.

Men du borde kunna fuska såhär:

```
' öppnar upp käll tabellen och loppar igenom den
Do Until Rs.Eof
SQLStmt = "INSERT INTO tblCars"
SQLStmt = SQLStmt & "(strMake,intPrice,intTax)"
SQLStmt = SQLStmt & " VALUES('"& Rs("strMake") &"' , "& ccur( "0" & Rs("intPrice") ) &" , "& cdbl( "0" & Rs("intTax") ) &")"
Conn.Execute(SQLStmt)
SET SQLStmt = Nothing
Rs.MoveNext
Loop
```

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

## #3 — Calippo, 2003-03-07T08:14Z

Kan tyvärr inte använda den lösningen eftersom den lägger till "0" i tabellen. Om inte käll-tabellen har nåt värde så får inte mål-tabellen få nåt värde.

Jag har satt kriteriet att tal-fälten får ha nollvärden, men det funkar inte ändå...

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

## #4 — @nders, 2003-03-07T08:24Z

I så fall får du kolla med if-satser och lägga till null i SQL-frågan. Det går ju att göra något sånär enkelt med en liten funktion. 

```
Function f(value)
     value = "" & value
     if value = "" then value = "null"
     f = value
End function
```

I SQL-frågan:

```
SQLStmt = SQLStmt & " VALUES('"& f(Rs("strMake")) &"' , "& f(Rs("intPrice")) &" , "& f(Rs("intTax")) &")"
```

Kanske?

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

## #5 — Calippo, 2003-03-07T08:44Z

Perfekt....

Funkar precis så som jag ville ha det.

Tackar

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

## #6 — @nders, 2003-03-07T08:53Z

Så trevligt. Kul att kunna hjälpa till!

Mvh,

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/70293-lägga-till-null-i-tal-fält-i-en-databas
