🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych.msaccess
5 messages
5 total messages Started by MaciejF Tue, 29 Sep 2015 17:25
Poprawność funkcji opartej na IF
#137008
Author: MaciejF
Date: Tue, 29 Sep 2015 17:25
24 lines
1536 bytes
Co sądzicie o poniższej funkcji?

Function PROJST(vK, Optional vNumer) As String

If IsNull(vK) Then
   PROJST = "Brak"
ElseIf vK = 4 Then
   PROJST = "Standard"
ElseIf vK = 0 Then
    If Left(vNumer, 2) = "ZS" Then
    PROJST = "Standard"
    Else
    PROJST = "Projekt"
    End If
Else
   PROJST = "Projekt"
End If

End Function


Proszę o ocenę czy funkcja zwróci zawsze to co zaplanowałem.

MaciejF
Re: Poprawność funkcji opartej na IF
#137012
Author: Prot
Date: Wed, 30 Sep 2015 09:07
19 lines
1591 bytes
Użytkownik "MaciejF" <maciejfr@onet.pl> napisał w wiadomości 
news:fa6a276a-9ade-4f0d-9df4-b8f0971918f5@googlegroups.com...
Co sądzicie o poniższej funkcji?

...

Proszę o ocenę czy funkcja zwróci zawsze to co zaplanowałem.


Na podstawie wróżby z fusów uzupełnionej wróżbą z gwiazd wnoszę, że w 
przypadku vk=0 najpierw zadziała pierwsze wyrażenie warunkowe ;)

Prot 


---
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
Re: Poprawność funkcji opartej na IF
#137010
Author: MaciejF
Date: Wed, 30 Sep 2015 13:13
13 lines
1627 bytes
Chodziło mi też o przypadek:

vk=0 i vNumer is Null

Czy muszę powyższe dodatkowo przewidzieć w logice
funkcji PROJST?

Zgadzam się, że bez większego opisu z mojej strony można
tylko używać szklanej kuli by dowiedzieć się co zakładałem;).

Pozdrawiam
/
MF
Re: Poprawność funkcji opartej na IF
#137011
Author: Prot
Date: Thu, 01 Oct 2015 14:57
21 lines
1723 bytes
Użytkownik "MaciejF" <maciejfr@onet.pl> napisał w wiadomości 
news:8f883b76-a99a-4c51-9ae9-5fd89a023809@googlegroups.com...
Chodziło mi też o przypadek:

vk=0 i vNumer is Null

zgodnie z zapisem Twoja funkcja przyjmie wówczas wartość "Projekt"

Czy muszę powyższe dodatkowo przewidzieć w logice
funkcji PROJST?

Jeśli w założeniu tej funkcji w powyższej sytuacji oczekiwanym wynikiem jest 
wartość "Projekt" to nie trzeba już nic dodawać.

Prot 


---
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
Re: Poprawność funkcji opartej na IF
#137013
Author: Zbigniew Bratko
Date: Thu, 01 Oct 2015 16:50
49 lines
1818 bytes
W dniu 2015-09-29 o 19:25, MaciejF pisze:
> Co sądzicie o poniższej funkcji?
>
> Function PROJST(vK, Optional vNumer) As String
>
> If IsNull(vK) Then
>     PROJST = "Brak"
> ElseIf vK = 4 Then
>     PROJST = "Standard"
> ElseIf vK = 0 Then
>      If Left(vNumer, 2) = "ZS" Then
>      PROJST = "Standard"
>      Else
>      PROJST = "Projekt"
>      End If
> Else
>     PROJST = "Projekt"
> End If
>
> End Function
>


Nie wiadomo, co ma zwrócić funkcja  PROJST
Np. dla vK=0

    MsgBox PROJST(0)

U mnie Access w linii

...
If Left(vNumer, 2) = "ZS" Then

zgłasza błąd nr 13:
Type mismatch.


Przed zastosowaniem funkcji Left proponuję sprawdzić, czy argument 
vNumer został przekazany:

If Not IsMissing(vNumer) Then
	If Left(vNumer, 2) = "ZS" Then


-- 
Pozdrowienia
BraZby
www.faq.accdb.pl/
www.acc97.accdb.pl/
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads