<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content="text/html; charset=utf-8" http-equiv=Content-Type> <META name=GENERATOR content="MSHTML 8.00.6001.18865"> <STYLE></STYLE> </HEAD> <BODY> <DIV><FONT face=Calibri>Pabandysiu surasyti taip kad butu patogiau skaityti.</FONT></DIV> <DIV><FONT face=Calibri><EM></EM></FONT> </DIV> <DIV><FONT face=Calibri><EM>Nepamenu dabar o datai neina accesse <STRONG>DateTime Picker </STRONG>naudot? tai tada nori nenori butu data ir nereiketu nieko tikrint, nors gal ner ten tokio elemento...</EM></FONT></DIV> <DIV><EM><FONT face=Calibri></FONT></EM> </DIV> <DIV><EM><STRONG><FONT face=Calibri>1. Taisykle Nr. 1 - Vartotoja nervina MsgBox pranesimai ir ju reikia vengti, geras stilius kada jie naudojasi is viso tik kritiniu atveju:</FONT></STRONG></EM></DIV> <DIV><FONT size=2><EM><FONT color=#008080 face=Calibri><STRONG></STRONG></FONT></EM></FONT> </DIV> <DIV><FONT color=#808080 size=1 face=Calibri>> If Nuo > Iki Then<BR>> Style = vbYes + vbCritical + vbDefaultButton2<BR>> Title = "Negera data"<BR>> Msg = "Jûs ávedëte klaidingà datà! Áveskite iðš naujo."<BR>> Response = MsgBox(Msg, Style, Title)<BR>> Exit Sub<BR>> End If</FONT></DIV> <DIV> <DIV><FONT size=2 face=Calibri></FONT> </DIV> <DIV><FONT face=Calibri><EM>Paprasciausia suzinojus jei vartotojas datas suvede atbulai, kas is esmes yra JUSU problema, o ne vartotojo, tai programoje jas sukeisti vietomis:</EM></FONT></DIV> <DIV><FONT size=2 face=Calibri></FONT> </DIV> <DIV><FONT color=#808080 size=2 face=Calibri>If Me.DataNuo > Me.DataIki Then</FONT></DIV> <DIV><FONT color=#808080 size=2 face=Calibri> Nuo = Me.DataIki</FONT></DIV> <DIV><FONT color=#808080 size=2 face=Calibri> Iki = Me.DataNuo</FONT></DIV> <DIV><FONT color=#808080 size=2 face=Calibri>Else</FONT></DIV> <DIV><FONT color=#808080 size=2 face=Calibri> Nuo = Me.DataNuo<BR> Iki = Me.DataIki</FONT></DIV> <DIV><FONT color=#808080 size=2 face=Calibri>End If</FONT></DIV> <DIV><FONT size=2 face=Calibri></FONT> </DIV></DIV> <DIV><FONT color=#008080 size=2 face=Calibri><EM></EM></FONT> </DIV> <DIV><EM><FONT face=Calibri><STRONG>2.</STRONG> Toliau <STRONG>jei visada dalyvauti turi data nuo ir iki</STRONG> tai galima su sql between komanda suktis</FONT></EM></DIV> <DIV><FONT face=Calibri></FONT> </DIV> <DIV><FONT color=#0000ff><FONT face=Calibri>Where <FONT color=#ff00ff>data</FONT> <STRONG>between</STRONG> <FONT color=#ff00ff>nuo</FONT> and <FONT color=#ff00ff>iki</FONT></FONT></FONT></DIV> <DIV><FONT face=Calibri></FONT> </DIV> <DIV><FONT face=Calibri><EM>Tada jusu VBA kodas atrodytu taip:</EM></FONT></DIV> <DIV><FONT face=Calibri></FONT> </DIV> <DIV><FONT face=Calibri>strfiltras = strfiltras & "[dtmSiuntosData] BETWEEN '" & Nuo &"' And '" & Iki &"'"</FONT></DIV> <DIV><FONT face=Calibri></FONT> </DIV> <DIV><FONT face=Calibri><EM>Vietoj gigantisko:</EM></FONT></DIV> <DIV><FONT face=Calibri></FONT> </DIV> <DIV><FONT color=#808080 size=1 face=Calibri>> strfiltras = strfiltras & "[dtmSiuntosData] >= '" & Nuo & "' And <BR>> [dtmSiuntosData] <= '" & Iki & "' And "<BR>> ElseIf Not IsNull(Me.DataNuo) Then<BR>> Nuo = Me.DataNuo<BR>> strfiltras = strfiltras & "[dtmSiuntosData] >= '" & Nuo & "' And "<BR>> ElseIf Not IsNull(Me.DataIki) Then<BR>> Iki = Me.DataIki<BR>> strfiltras = strfiltras & "[dtmSiuntosData] <= '" & Iki & "' And "</FONT></DIV><FONT size=2> <DIV><FONT face=Arial></FONT><BR><FONT size=3 face=Calibri><EM>3. Kintamuju paspalvintu raudonai priskyrimas dubliuojasi:</EM></FONT></DIV> <DIV><FONT face=Calibri></FONT> </DIV> <DIV><FONT face=Calibri><FONT color=#808080>> If Not IsNull(Me.DataNuo) And Not IsNull(Me.DataIki) Then</FONT><BR><FONT color=#ff0000>> Nuo = Me.DataNuo</FONT><BR><FONT color=#ff0000>> Iki = Me.DataIki</FONT><BR><FONT color=#808080>> <BR>> '''''''Patikrina ar data teisinga<BR>> <BR>> If Nuo > Iki Then<BR>> Style = vbYes + vbCritical + vbDefaultButton2<BR>> Title = "Negera data"<BR>> Msg = "Jûs ávedëte klaidingà datà! Áveskite iðš naujo."<BR>> Response = MsgBox(Msg, Style, Title)<BR>> Exit Sub<BR>> End If<BR>> strfiltras = strfiltras & "[dtmSiuntosData] >= '" & Nuo & "' And <BR>> [dtmSiuntosData] <= '" & Iki & "' And "<BR>> ElseIf Not IsNull(Me.DataNuo) Then<BR></FONT><FONT color=#ff0000>> Nuo = Me.DataNuo</FONT><BR><FONT color=#808080>> strfiltras = strfiltras & "[dtmSiuntosData] >= '" & Nuo & "' And "<BR>> ElseIf Not IsNull(Me.DataIki) Then<BR></FONT><FONT color=#ff0000>> Iki = Me.DataIki</FONT><BR><FONT color=#808080>> strfiltras = strfiltras & "[dtmSiuntosData] <= '" & Iki & "' And "<BR>> End If</FONT></FONT></DIV> <DIV><FONT face=Calibri></FONT> </DIV> <DIV><FONT face=Calibri></FONT> </DIV> <DIV><FONT size=3 face=Calibri><EM><STRONG>4. Option box'ai:</STRONG></EM></FONT></DIV> <DIV><FONT face=Calibri></FONT> </DIV> <DIV><FONT face=Calibri><FONT color=#808080>> ''''''Dar vienas Option group 'Apmoketi_reisai'<BR>> If Me.Apmoketi_reisai = 1 Then<BR>> strfiltras = strfiltras & "[SaskID] is not Null AND "<BR>> ElseIf Me.Apmoketi_reisai = 2 Then<BR>> strfiltras = strfiltras & "[SaskID] is Null AND "<BR>> End If</FONT><BR></FONT></DIV> <DIV><EM><FONT size=3 face=Calibri><STRONG>Blogai!</STRONG> Kas? o tas kad i sql uzklausa pridedama pvz. <STRONG>"[SaskID] is Null <FONT color=#ff0000 size=5>AND</FONT> "</STRONG> <FONT color=#ff0000>visiskai neziurint ar toliau bus dar kazkas salygoje ar ne!</FONT></FONT></EM></DIV> <DIV><EM><FONT size=3 face=Calibri></FONT></EM> </DIV> <DIV><EM><FONT size=3 face=Calibri>Jeigu jau taip formuojate uzklausa kaip string tai visada geriausia daryti taip:</FONT></EM></DIV> <DIV><EM><FONT size=3 face=Calibri></FONT></EM> </DIV> <DIV><EM><FONT face=Calibri><FONT size=3>Apsirasau savo: <STRONG>Select * From lentele </STRONG></FONT></FONT></EM></DIV> <DIV><EM><FONT size=3 face=Calibri></FONT></EM> </DIV> <DIV><EM><FONT size=3 face=Calibri>Tada dedu tokia salyga kuri visada bus (is bedos jei tokios nera rasau <STRONG>WHERE 1=1</STRONG>, o prie jos tada jau AND ... AND ... AND , pvz data:</FONT></EM></DIV> <DIV><EM><FONT size=3 face=Calibri></FONT></EM> </DIV> <DIV><EM><FONT size=3 face=Calibri><STRONG>Where data between nuo and Iki</STRONG></FONT></EM></DIV> <DIV><STRONG><EM><FONT size=3 face=Calibri></FONT></EM></STRONG> </DIV> <DIV><FONT face=Calibri><FONT size=3><EM>O tada kadangi as zinau kad jau viena salyga yra, galiu dadejinet drasiai salygas su <STRONG>AND</STRONG> ar <STRONG>OR</STRONG> operatorium atitinkamai rasant visada rasau ne gale o priekyje jungiklu AND|OR: </EM><EM><STRONG>" AND</STRONG> laukas = kazkam" ir niekada nedaryti atbulai pvz.: " laukas=kazkam AND" <FONT color=#ff0000>< -- nes gal formuojant uzklausa paaiskes kad tolimesniu salygu nera</FONT>. Ir dar... visada reikia deti pridedant stringa pries AND tarpa (tiesiog issiugdyti iproti).</EM></FONT></FONT></DIV> <DIV><FONT size=3 face=Calibri></FONT> </DIV> <DIV><EM><FONT size=3 face=Calibri>Gaila access po ranka nera (pas mane openoffice) kad paziureti bet jei tai kazkoks checkboxas,radioboxas ar jis neturi boolean propety Checked?</FONT></EM></DIV> <DIV><EM><FONT size=3 face=Calibri></FONT></EM> </DIV> <DIV><FONT size=3 face=Calibri>If ChkPozymis.Chedked = True Then </FONT></DIV> <DIV><FONT size=3 face=Calibri> str = str & " AND Kazkas Is Null"</FONT></DIV> <DIV><FONT size=3 face=Calibri>End if</FONT></DIV> <DIV><EM><FONT size=3 face=Calibri></FONT></EM> </DIV> <DIV><EM><FONT size=3 face=Calibri>Arba:</FONT></EM></DIV> <DIV><EM><FONT size=3 face=Calibri></FONT></EM> </DIV> <DIV><FONT size=3 face=Calibri>str = str & IIF(ChkPozymis.Checked:" AND Kazkas Is Null":"")</FONT></DIV> <DIV><FONT size=3 face=Calibri></FONT> </DIV> <DIV><FONT size=3 face=Calibri><EM>Ka daro funkcija IIF - supaprastina koda, bet atsargiai tik su reiksmem kurios gali buti null nes mes klaidas:</EM></FONT></DIV> <DIV><FONT size=3 face=Calibri></FONT> </DIV> <DIV><FONT size=3 face=Calibri>IIF ( Salyga : Teigiamas rezultatas : Neigiamas rezultatas )</FONT></DIV> <DIV><EM><FONT size=3 face=Calibri></FONT></EM> </DIV> <DIV><FONT size=3 face=Calibri><EM>IIF grazina teigiama arba neigiama rezultata priklausomai nuo salygos, pvz:</EM></FONT></DIV> <DIV><FONT size=3 face=Calibri></FONT> </DIV> <DIV><FONT size=3 face=Calibri>MsgBox IIF(metai>17:"Suauges":"Nepilnametis)</FONT></DIV> <DIV><EM><FONT size=3 face=Calibri></FONT></EM> </DIV> <DIV><EM><FONT size=3 face=Calibri>Bet luzines jei metai gali buti Null...</FONT></EM></DIV> <DIV><EM><FONT size=3 face=Calibri></FONT></EM><EM><FONT size=3 face=Calibri></FONT></EM> </DIV> <DIV><FONT size=3 face=Calibri></FONT> </DIV> <DIV><FONT size=3 face=Calibri></FONT> </DIV> <DIV><FONT size=3 face=Calibri>Sekmes darbuose :)</FONT></DIV> <DIV><FONT size=3 face=Calibri>JDM.</FONT></DIV> <DIV><FONT size=3 face=Calibri>Freelancer Developer</FONT></DIV> <DIV><FONT color=#008080 face=Calibri><A href="http://www.lythum.lt">http://www.lythum.lt</A></FONT></DIV> <DIV><EM><FONT color=#008080 face=Calibri></FONT></EM> </DIV> <DIV><FONT face=Calibri></FONT> </DIV> <DIV><FONT face=Calibri></FONT> </DIV> <DIV><BR><FONT face=Calibri>> ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<BR>> '''''''''Pirmas option group 'IMSiuntos'<BR>> <BR>> If Me.IMSiuntos = 1 Then<BR>> strfiltras = strfiltras & "([VaztarTipas] = 'P' OR [VaztarTipas] = <BR>> 'PF') And "<BR>> End If<BR>> ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<BR>> ''''text box 'SandelioNr', kuri as uzpildau atidarant forma,<BR>> <BR>> If Me.SandelioNr = 1 Then<BR>> strfiltras = strfiltras & "(SandNr = 1) AND "<BR>> ElseIf SandelioNr = 2 Then strfiltras = strfiltras & "(SandNr = 2) AND "<BR>> End If<BR>> ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<BR>> ''''''' ComboBox'ai, pagal kuriuos filtruojami duomenys<BR>> <BR>> If Not IsNull(Me.Siunta) Then strfiltras = strfiltras & "[strSiuntosNr] = <BR>> '" & Me.Siunta & "' AND "<BR>> If Not IsNull(Me.Klientas) Then strfiltras = strfiltras & "[strKlientas] = <BR>> '" & Me.Klientas & "' AND "<BR>> If Not IsNull(Me.SaskMoketojas) Then strfiltras = strfiltras & <BR>> "[strSaskMoketojas] = '" & Me.SaskMoketojas & "' AND "<BR>> If Not IsNull(Me.Tipas) Then strfiltras = strfiltras & "[VaztarTipas] = '" <BR>> & Me.Tipas & "' AND "<BR>> If Not IsNull(Me.SalisFrom) Then strfiltras = strfiltras & <BR>> "[strSalis_from] = '" & Me.SalisFrom & "' AND "<BR>> If Not IsNull(Me.SalisTo) Then strfiltras = strfiltras & "[strSalis_to] = <BR>> '" & Me.SalisTo & "' AND "<BR>> If Not IsNull(Me.Tr_priem) Then strfiltras = strfiltras & "[strTrPriemNr] <BR>> = '" & Me.Tr_priem & "' AND "<BR>> If Not IsNull(Me.Statusas) Then strfiltras = strfiltras & "[MuitStatusas] <BR>> = '" & Me.Statusas & "' AND "<BR>> If Not IsNull(Me.KortelesNr) Then strfiltras = strfiltras & <BR>> "[strKortelesNr] = '" & Me.KortelesNr & "' AND "<BR>> <BR>> '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<BR>> ''''''Dar vienas Option group 'Apmoketi_reisai'<BR>> If Me.Apmoketi_reisai = 1 Then<BR>> strfiltras = strfiltras & "[SaskID] is not Null AND "<BR>> ElseIf Me.Apmoketi_reisai = 2 Then<BR>> strfiltras = strfiltras & "[SaskID] is Null AND "<BR>> End If<BR>> <BR>> <BR>> <BR>> If Not IsNull(strfiltras) And (Len(strfiltras) > 0) Then<BR>> strfiltras = Mid(strfiltras, 1, Len(strfiltras) - 5)<BR>> Me.Filter = strfiltras<BR>> Me.FilterOn = True<BR>> Else<BR>> Me.FilterOn = False<BR>> End If<BR>> Me.OrderBy = "dtmSiuntosData desc"<BR>> Me.OrderByOn = True<BR>> Exit Sub<BR>> ErrH:<BR>> MsgBox Err.Description<BR>> End Sub<BR>> <BR>> <BR>> "Laimis" <</FONT></FONT><A href="mailto:wiela@centras.lt"><FONT size=2 face=Calibri>wiela@centras.lt</FONT></A><FONT size=2 face=Calibri>> wrote in message <BR>> </FONT><A href="news:hkhigu$i6s$1@trimpas.omnitel.net"><FONT size=2 face=Calibri>news:hkhigu$i6s$1@trimpas.omnitel.net</FONT></A><FONT size=2 face=Calibri>...<BR>>> Vaida rašė:<BR>>>> Nu gerai,<BR>>>><BR>>><BR>>>> (varda, pavarde). Bet as dar noriu atsirinkti mokinius kuriu gimimo<BR>>>> diena yra : sausio - balandzio, geguzes - rugpjucio, rugsejo - gruodzio<BR>>>> menesiais. Taigi, as pasidarau option group su tokiais punktais:<BR>>><BR>>> Pasidaryti tai pasidarai, o *kaip* pasidarai...?<BR>>> Arba įmesk į o.binaries pavydį, pačią programą (db nebūtina), arba beveik <BR>>> garantuotai nieko nebus...<BR>>></FONT></DIV></BODY></HTML>