Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Lopuch, server nejen
pro botaniky

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub Database (mysql,...) [ŽP: neomezená] (kategorie Programování) moderuje melkor_unlimited.
Archiv
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: wfssgqn
[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
themajkl themajkl All those moments will be lost in time - like tears in rain. 12.3.2010 09:50  1125
Tak hlavně "like" je operace na stringem, vůbec nechápu, že ti to dovolí porovnávat s ní integer.

Pokud bude display integer a záznamy ropy budou mít display=1

Function PrectiData_ropy() As String
Dim ww As String
Dim rr As Boolean
rr = Forms!frm_SELECT!Vyhledat_ropy
If (rr = False) Then
ww = "1=1"
End If
If (rr = True) Then
ww = "display = 1"
End If
PrectiData_ropy = ww
End Function

a pak principielně místo
AND ((tbl_Pristroj.ROPy) Like PrectiData_ropy())
dáš
AND PrectiData_ropy()
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 12.3.2010 09:40  1124
v té mé databázi žádný sloupeček display nemám...
jo a v té cvičné, kde jsem to zkoušel je typ integer a ošetřuji hodnoty 0 a 1
jasně není to sloupeček typu boolean (ano/ne)
to by mohl být zádrhel, že?
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 12.3.2010 09:39  1123
Function PrectiData_ropy() As String
Dim ww As String
Dim rr As Boolean
rr = Forms!frm_SELECT!Vyhledat_ropy
If (rr = False) Then
ww = "*"
End If
If (rr = True) Then
ww = "0"
End If
PrectiData_ropy = ww
End Function

funguje tak, že při ropy=0 vyhodí ropy i neropy (což je správně)
a při ropy=1 hodí neropy (což je špatně)

ale
Function PrectiData_ropy() As String
Dim ww As String
Dim rr As Boolean
rr = Forms!frm_SELECT!Vyhledat_ropy
If (rr = False) Then
ww = "*"
End If
If (rr = True) Then
ww = "1"
End If
PrectiData_ropy = ww
End Function

funguje tak, že při ropy=0 vyhodí ropy i neropy (což je správně)
a při ropy=1 nezobrazí žádný záznam (což je samozřejmě špatně)
themajkl themajkl All those moments will be lost in time - like tears in rain. 12.3.2010 09:33  1122
Jo moment, jaký je typ sloupečku display a máš tam null hodnoty?
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 12.3.2010 09:32  1121
ale dá se říci, že jsme na stopě ...
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 12.3.2010 09:25  1120
nefunguje

při volbě 0 nevybere žádný záznam
a při volbě 1 vybere vše ("ne ropy + ropy" )
themajkl themajkl All those moments will be lost in time - like tears in rain. 12.3.2010 09:20  1119
Tak znova. Tohle nefunguje?

Function PrectiData_ropy() as string
Dim ww As string
Dim rr As Boolean
rr = Forms!frm_SELECT!Vyhledat_ropy
If IsNull(rr) Then
ww = "0"
End If
If (rr = True) Then
ww = "*"
End If
PrectiData_ropy = ww
End Function
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 12.3.2010 09:14  1118
já dotaz umím, ale neumím napsat funkci, která převede ty boolean hodnoty (které mohou být jen 0 nebo 1) na řetězec ("0") a (0" OR "1")
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 12.3.2010 09:12  1117
where display like "1" or "0"

je z úplně jiné databáze - bylo to jen proi ilustraci, že to sjednocení výběru funguje
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 12.3.2010 09:11  1116
pomocí dotazu, který obsluhuje výběrový formulář si mohu vytvořit téměř jakýkoliv výběr a řadit v něm data ve třech úrovních jak potřebuji
to vše běhá

nyní musím dodělat jen tuhle prkotinu a já umím vybrat buď ropy nebo nebo "ne ropy" ale potřebuji buď ropy nebo "ne ropy + ropy"
určitě je to jednoduché, ale musím to ušetřit v té funkci pomocí VB
themajkl themajkl All those moments will be lost in time - like tears in rain. 12.3.2010 09:07  1115
No ale jestli máš v tom selectu
where display like "1" or "0"
tak to je přinejmenším matoucí zápis a bůhví, co to dělá.
Zkus
where display like "*"
Jak jsem psal, tos dělal, nebo ne?
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 12.3.2010 09:07  1114
:-)
databáze funguje a využíváme ji již cca 5 let
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 12.3.2010 09:07  1113


SELECT tbl_Pristroj.ID_Pristroj AS JmenoID_Pristroje, tbl_Pristroj.Kategorie, tbl_Pristroj.Nazev AS JmenoNazev, tbl_Pristroj.Typ AS JmenoTyp, tbl_Pristroj.Serial AS JmenoSerial, tbl_Pristroj.Zobrazit, tbl_Pristroj.Usek, tbl_Pristroj.Inv AS JmenoInv, tbl_Pristroj.Klas, tbl_Pristroj.Vyrobce, tbl_Pristroj.Dodavatel, tbl_Pristroj.Servis, tbl_Pristroj.Zarazeno AS JmenoZarazeno, tbl_Pristroj.Instalace, tbl_Pristroj.Inst_kdy AS JmenoInst_kdy, tbl_Pristroj.ROPy, tbl_Pristroj.Vyrazeno, tbl_Pristroj.Vyrazeno_kdy AS JmenoVyrazeno_kdy, tbl_Pristroj.Cena AS JmenoCena, tbl_Pristroj.Rok_vyroby AS JmenoRok_vyroby, tbl_Pristroj.Zaruka AS JmenoZaruka, tbl_Pristroj.PC AS JmenoPC, tbl_Pristroj.Interval_prohl, tbl_Pristroj.Last, tbl_Pristroj.Next, tbl_Pristroj.Poznamka AS JmenoPoznamka, tbl_Kategorie.Kategorie AS JmenoKategorie, tbl_Vyrobce.Vyrobce AS JmenoVyrobce, tbl_Zdrav_useky.Usek AS JmenoUsek, tbl_Klas.Klas_trida AS JmenoKlas_trida, tbl_Firma.Firma AS JmenoDodavatel, tbl_Firma_1.Firma AS JmenoServis, tbl_Firma_2.Firma AS JmenoInstalace, tbl_Interval.Interval_prohl AS JmenoInterval_prohl, qry_last_prohlidka.LastOfKontrola, qry_last_prohlidka.Next_Prohlidka, DateAdd("m",tbl_Interval.Interval_prohl,qry_last_prohlidka.LastOfKontrola) AS JmenoNext
FROM tbl_Klas INNER JOIN (tbl_Kategorie INNER JOIN (tbl_Vyrobce INNER JOIN (tbl_Zdrav_useky INNER JOIN (tbl_Interval INNER JOIN (tbl_Firma INNER JOIN ((tbl_Firma AS tbl_Firma_2 INNER JOIN (tbl_Firma AS tbl_Firma_1 INNER JOIN tbl_Pristroj ON tbl_Firma_1.ID_Firma = tbl_Pristroj.Servis) ON tbl_Firma_2.ID_Firma = tbl_Pristroj.Instalace) INNER JOIN qry_last_prohlidka ON tbl_Pristroj.ID_Pristroj = qry_last_prohlidka.ID_Pristroj) ON tbl_Firma.ID_Firma = tbl_Pristroj.Dodavatel) ON tbl_Interval.ID_Interval = tbl_Pristroj.Interval_prohl) ON tbl_Zdrav_useky.ID_Zdrav_useky = tbl_Pristroj.Usek) ON tbl_Vyrobce.ID_Vyrobce = tbl_Pristroj.Vyrobce) ON tbl_Kategorie.ID_Kategorie = tbl_Pristroj.Kategorie) ON tbl_Klas.ID_Klas = tbl_Pristroj.Klas
WHERE (((tbl_Pristroj.ID_Pristroj) Like PrectiData_klic()) AND ((tbl_Pristroj.Nazev) Like PrectiData_nazev()) AND ((tbl_Pristroj.Typ) Like PrectiData_typ()) AND ((tbl_Pristroj.Serial) Like PrectiData_serial()) AND ((tbl_Pristroj.Zobrazit)=Yes) AND ((tbl_Pristroj.Inv) Like PrectiData_inv()) AND ((tbl_Pristroj.Zarazeno) Between PrectiData_zarazeno() And PrectiData_zarazeno2()) AND ((tbl_Pristroj.ROPy) Like PrectiData_ropy()) AND ((tbl_Pristroj.Vyrazeno) Like PrectiData_vyrazeno()) AND ((tbl_Pristroj.Cena) Between PrectiData_cena() And PrectiData_cena2()) AND ((tbl_Pristroj.Rok_vyroby) Between PrectiData_rok() And PrectiData_rok2()) AND ((tbl_Pristroj.Poznamka) Like PrectiData_pozn()) AND ((tbl_Kategorie.Kategorie) Like PrectiData_kategorie()) AND ((tbl_Vyrobce.Vyrobce) Like PrectiData_vyrobce()) AND ((tbl_Zdrav_useky.Usek) Like PrectiData_usek()) AND ((tbl_Klas.Klas_trida) Like PrectiData_klas()) AND ((tbl_Firma.Firma) Like PrectiData_dodavatel()) AND ((tbl_Firma_1.Firma) Like PrectiData_servis()) AND ((tbl_Firma_2.Firma) Like PrectiData_instalace()) AND ((tbl_Interval.Zobrazit)=Yes) AND ((tbl_Kategorie.Zobrazit)=Yes) AND ((tbl_Vyrobce.Zobrazit)=Yes) AND ((tbl_Zdrav_useky.Zobrazit)=Yes) AND ((tbl_Klas.Zobrazit)=Yes) AND ((tbl_Firma.Zobrazit)=Yes) AND ((tbl_Firma_1.Zobrazit)=Yes) AND ((tbl_Firma_2.Zobrazit)=Yes) AND ((DateAdd("m",[tbl_Interval].[Interval_prohl],[qry_last_prohlidka].[LastOfKontrola])) Between PrectiData_datum() And PrectiData_datum2()));

puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 12.3.2010 09:06  1112
strukturu databáze mám zde

dotaz který je vygenerován v návrhovém systému MS Access 2003 hodím za chvilku
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 12.3.2010 09:04  1111
select mám

[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt