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


If else sats som inte funkar som jag vill

Postades av 2003-02-25 08:35:22 - Torbjörn Karlberg, i forum visual basic - allmänt, Tråden har 14 Kommentarer och lästs av 480 personer

Hej

Finns det någon smidigare lösning på detta som inte funkar!!!!

'>20000 < 40000km
ElseIf LblDay <= "-15" And txtDawa(9) > "20000" And txtDawa(9) < "40000" Then
lblproc = "90 %"
ElseIf LblDay > "-15" And LblDay < ("-18") And txtDawa(9) > "20000" And txtDawa(9) < "40000" Then
lblproc = "80 %"
ElseIf LblDay > "-18" And LblDay < ("-21") And txtDawa(9) > "20000" And txtDawa(9) < "40000" Then
lblproc = "70 %"
ElseIf LblDay > "-21" And LblDay < ("-24") And txtDawa(9) > "20000" And txtDawa(9) < "40000" Then
lblproc = "70 %"
ElseIf LblDay > "-24" And LblDay < ("-27") And txtDawa(9) > "20000" And txtDawa(9) < "40000" Then
lblproc = "25 %"
ElseIf LblDay > "-27" And LblDay < ("-30") And txtDawa(9) > "20000" And txtDawa(9) < "40000" Then
lblproc = "20 %"
ElseIf LblDay > "-30" And LblDay < ("-33") And txtDawa(9) > "20000" And txtDawa(9) < "40000" Then
lblproc = "15 %"
ElseIf LblDay > "-33" And LblDay < ("-36") And txtDawa(9) > "20000" And txtDawa(9) < "40000" Then
lblproc = "0 %"

mvh
Tobbe


Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 08:41:36 - Hobil Haidari

hmmm.

Kör en IF sats för att kolla mellan 20000 och 4000
Inuti IF satsen kör du en SELECT CASE sats för att ta reda på procentsatserna, lite snyggare och enklare.


Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 13:10:01 - Håkan Borneland

Hej Tobbe!

Är det meningen att värden som 18, 21, 24, 27, 30, och 33 inte ska "vara" med?
Nu testar du om "LblDay" är mindre och större, men inte lika med.
Glöm inte "End If" (såg inte att den var med).
Håller med [hobbe] om att en inledande IF sats där du kollar att "txtDawa" är större än 2000 och mindre än 4000, och sen använder du en SELECT CASE sats för att avgöra vilket värde "LblDay" har, är enklare (och snyggare).
Just det, använd gärna parenteser runt de utryck som står före och efter "AND", speciellt när de blir längre (som i ditt fall).
(Hjälper kompilatorn att hålla isär begreppen).


/Håkan


Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 15:04:06 - Sven Åke Persson

Hej
Du snurrar till det med > och < duktigtiga tag
Den här raden slår ut alla de andra
ElseIf LblDay <= "-15" And txtDawa(9) > "20000" And txtDawa(9) < "40000" Then
lblproc = "90 %"
Det blir allt som är mindre än - 15 kommer att fastna här dvs - 15 till - mycket mycket

Försök spalta upp det efter denna princip.
< än ett minustal gör ju att siffervärdet ökar.
ex. < - 15 -27 stämmer på detta påstående.
Ta ett papper och fyll i de - intervall som skall ge respons.
ex. -18 till - 15 -22 till - 19 - 26 till - 23 osv osv.
börja bakifrån det blir enklast att tänka så , dvs -36 To -33 , -32 To -29 osv

placera sedan in dessa i Case satserna enl nedan

Dim lDay As Long, lDawa As Long
lDay = LblDay.Caption
lDawa = txtDwa(9).Text
Select Case lDawa
Case 20001 To 39999
Select Case lDay
Case Is >= -15
lblproc.Caption = "90 %"
Case -36 To -33
lblproc.Caption = "0 %"
osv osv
End Select
End Select

Du har 70 % på två ställe
/Sven


Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 15:33:40 - Håkan Borneland

Hej Sven!

Har du tänkt på att han jämför strängar i sitt exempel?
Första raden blir bara sann när "LblDay" är -15 och uppåt (mot noll och plus).
I "strängvärlden" är ju konsigt nog -15 faktiskt mindre än -18 o.s.v.

/Håkan


Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 15:41:34 - Sven Åke Persson

Hej Håkan
mmmmmmmmmmmmmmm. !?
Han får väl svara själv, men nog tror jag att värdena
representerar nummeriska matte värde.
/Sven


Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 16:01:33 - Håkan Borneland

Det är "dubbelfnuttarna" runt värdena som gör att jag tror att det är strängvärden.
Vad tror du (om "dubbelfnuttarna")?

/Håkan


Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 16:39:33 - Sven Åke Persson

Hej
Jo rent sakligt är det ju strängar, men tror i allafall att dom representerar
numeriska värde , såg att det står Km och det står %(procent).

Har märkt att det ibland tydligen är svårt att skilja på strängar och tal.

Kör min gamla "littania" postnummer telefonnummer mfl. är strängar
mil km Kg är för det mesta tal som man vill göra "matte" av.

Den gode Tobbe får väl komma in och reda ut begreppen.
/Sven


Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 17:09:40 - Håkan Borneland

Så är det, vi får vänta på Tobbes svar om hur det ligger till.
Precis som du tror jag också att det ska vara numeriska värden.
Men om han skickar dom till "<" och ">" operatorn med "dubbelfnuttar" så........!
Han får typkonvertera dom, om han vill få tillstånd en numerisk jämförelse.
Som sagt, vi får avvakta Tobbes nästa inlägg. :-))

/Håkan


Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 17:49:27 - Torbjörn Karlberg

Hej
Tackar för intresset, jag har suttit och försökt få till en if sat med select sats men får inte till det.

Detta har jag fått att funka men lite grötigt tycker jag.

If Text2.Text <= "-15" And Text1.Text <= "20000" Then
Lblproc = "100 %"
ElseIf Text2.Text <= "-15" And Text1.Text >= "20000" And Text1.Text <= "40000" Then
Lblproc = "90 %"
ElseIf Text2.Text <= "-15" And Text1.Text >= "40000" And Text1.Text <= "60000" Then
Lblproc = "80 %"
ElseIf Text2.Text <= "-15" And Text1.Text >= "60000" And Text1.Text <= "80000" Then
Lblproc = "70 %"
ElseIf Text2.Text <= "-15" And Text1.Text >= "80000" And Text1.Text <= "99999" Then
Lblproc = "60 %"
ElseIf Text2.Text > "-15" And Text2.Text <= "-18" And Text1.Text <= "20000" Then
Lblproc = "90 %"
ElseIf Text2.Text > "-15" And Text2.Text <= "-18" And Text1.Text >= "20000" And Text1.Text <= "40000" Then
Lblproc = "80 %"
ElseIf Text2.Text > "-15" And Text2.Text <= "-18" And Text1.Text >= "40000" And Text1.Text <= "60000" Then
Lblproc = "70 %"
ElseIf Text2.Text > "-15" And Text2.Text <= "-18" And Text1.Text >= "60000" And Text1.Text <= "80000" Then
Lblproc = "60 %"
ElseIf Text2.Text > "-15" And Text2.Text <= "-18" And Text1.Text >= "80000" And Text1.Text <= "99999" Then
Lblproc = "50 %"
End If

Det jag skall göra är att först tar jag ut antal månader och sen kollar antal km
efter en mall som anges med procentsats.

mvh
Tobbe




Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 17:55:13 - Håkan Borneland

Hej Tobbe!

Undrar om det är sträng- eller numeriska värden som du jämför (se diskussion ovan med Sven)?

/Håkan


Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 18:02:59 - Torbjörn Karlberg

Hej
Numeriska värden är det när man anger mätarställning men antal månder blir en sträng efter som när jag tar ut antal månader mellan två datum blir det -12 när man kollar ett år bakåt t,ex.

kan kanske ändra detta så att minus tecknet tas bort.

/Tobbe


Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 18:22:32 - Håkan Borneland

Undrar eftersom alla siffror i din kod har "dubbelfnuttar" (citationstecken) runt sig vilket gör att de tolkas som stränvärden.
Ta det senaste datumet först (byt plats på de två datumen du jämför) så får du väl ett positivt svar, eller?

Håkan


Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 20:07:56 - Torbjörn Karlberg

Hej

Jag tog bort "fnuttarna" och ändrade plast på datumen och funkar bättre tack
fortsätter med att få till en någon select sats eller bättra på koden för detta ända mål.

Mvh tobbe


Svara

Sv: If else sats som inte funkar som jag vill

Postades av 2003-02-25 22:51:34 - Håkan Borneland

I det första exemplet så testade du bara mellan 2000 och 4000 km.
I det andra är det helt andra avstånd som testas, från 2000 upp till 9999.
Detta gäller också månaderna som i det sista exemplet bara verkar gälla -15 och mindre, samt -16 till -18.
Försöker förstå hur det ska testas, så att jag kanske kan hjälpa till med kod.

/Håkan


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 569 169
27 953
271 705
913
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