Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Query problem med null som möjlig input.

Postades av 2007-12-03 15:49:04 - Peder Olin, i forum access, Tråden har 4 Kommentarer och lästs av 1027 personer

Hej

Jag har ett problem där jag försöker skapa en query i Access där jag får ange parametrar när query körs och att den sedan ska acceptera "null" som input då jag ofta vill lista alla i vissa fält.

Har dock löst det men det är inte ett snyggt sätt så vill höra om det finns ett bättre.

Här är ett scenario för att beskriva vad jag vill göra:

Har först en tabell(Table1) med bredd och längd angett.
Sen skapar jag en query som innehåller följande SQL kod:

SELECT Table1.Width, Table1.Length
FROM Table1

WHERE (((Table1.Width)=[What width?]) AND ((Table1.Length)=[What length?])) OR (((Table1.Width)=[What width?]) AND (([What length?]) Is Null)) OR (((Table1.Length)=[What length?]) AND (([What width?]) Is Null)) OR ((([What length?]) Is Null) AND (([What width?]) Is Null));

Nu ser ni säkert att WHERE satsen blir lite jobbig men den innehåller alla tänkbara möjligheter till input jag kan ge. Dvs anger jag längd men lämnar bredd blank får jag alla bredder men bara en viss längd.
Är båda input blanka får jag hela listan osv..

Denna lösning funkar men blir ohållbart om jag vill ha 7-10 fält att söka på.
Redan vid 2 fält är det 4 kombinationer och vid 7 fält är det 128 så det blir snabbt ohanterligt.

Nån som har en fin lösning på detta?

/Peder


Svara

Sv: Query problem med null som möjlig input.

Postades av 2007-12-03 20:16:47 - Pelle Johansson

Du kommer inte undan utan att skriva kod, men du kan underlätta lite i alla fall. Vet inte om detta känns bättre?

SELECT t1.Width, t1.Length 
FROM Table1 t1
where (t1.width = @width or @width is null)
   and (t1.length = @length or @length is null)

Skall du kunna skicka in '' också , kan du skriva

SELECT t1.Width, t1.Length 
FROM Table1 t1
where (t1.width = @width or @width is null or @width='')
   and (t1.length = @length or @length is null or @length='')


Svara

Sv:Query problem med null som möjlig input.

Postades av 2007-12-04 08:31:39 - Peder Olin

Mycket trevligare lösning

Tackar och bockar för hjälpen.

/Peder


Svara

Sv:Query problem med null som möjlig input.

Postades av 2007-12-04 13:48:47 - Peder Olin

Verkar som jag ropade hej för tidigt =)

Access 2007 verkar ha någon form av autokorrigering där om jag går mellan SQL läge och Design läge så uppdaterar den sql koden till något som liknar mitt första exempel.

Bara det att när den gjort det på de 7-8 fält jag använder så säger den att frågan blir för komplex, antagligen för att det blir ett 20 tal sidor SQL kod istället för ett 10 tal rader som i exemplet övan.

Kan kanske även vara relaterat till att jag splittade databasen 2 för att få tabeller i en och resten i den andra?

Kanske måste jobba med koden i exempelvis notepad och sen klistra in den, spara och undvika design mode?..lol

Såg just att det är när man sparar i design läge som det strular medan om man väljer att spara i sql läge så går det bra.

/Peder


Svara

Sv: Query problem med null som möjlig input.

Postades av 2007-12-04 16:18:32 - Pelle Johansson

Vad bra!

Gå över till SQL-Express 2005 istället så kan du skriva hur komplext du vill och få en äkta databas. Det är lätt att importera en accessdatabas till SQL Server Express, och den är gratis.


Svara

Nyligen

  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 866
27 962
271 767
459
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies