« first day (293 days earlier)      last day (2887 days later) » 
00:00 - 18:0018:00 - 00:00

12:01 AM
[skiwi2/TCGHand] 10 commits.
 
12:34 AM
@Mat'sMug You can unpin that one post BTW :)
 
:)
 
12:54 AM
> Back to the supporting VB6 topic - I think all I'm missing is exactly where to register the add-in. For Office the key goes under HKCU/Software/Microsoft/VBA/VBE/6.0/Addins[64] - I believe if we simply verified if there's a key for the VB6 IDE we can register Rubberduck under it and it would just work. Of course there's a number of features that would require some more thought - namely unit testing and source control integration - although SC would actually be simpler to implement...
in VB6 than in VBA... but I have no idea how I'd approach unit testing without an Application.Run method in the host (this limitation is also why unit tests don't work in Outlook). Bottom line, I don't think there's any major showstopper in supporting VB6 - and given how VB6 projects are certainly larger than most VBA projects, the code inspections, refactorings and navigation features would definitely be more than welcome in that environment as well.
 
1:16 AM
> Relevant. I'm not sure which version of VS supported VB6. mztools.com/articles/2011/MZ2011012.aspx
 
@RubberDuck VB6 was part of Visual Studio ...6.0 ;)
 
Lol. Really? The only M$ version numbers that ever made sense...
I'm a little hesitant to add VB6 support. Very few people are still using it. Unless we could get somebody dedicated to helping with the project, I just don't see it happening.
 
1:38 AM
> I found the key buried in this old MSDN article.

https://msdn.microsoft.com/en-us/library/aa239603%28v=vs.60%29.aspx

= new RegKey(RegKey.getRootKey(RegKey.USER_ROOT),
"Software\\Microsoft\\VisualStudio\\6.0\\Addins\\
MyAddin.Connect ", RegKey.KEYOPEN_CREATE);
regKey.setValue("Description", "Addin description goes
here.");
 
@RubberDuck I don't see how it can hurt to register the add-in for VS6.0 - ok, no unit testing.. but RD works in Outlook without 'em! and then SCI can be adapted to work off actual code files and a .vbp project, with .vbw added to the ignore list...
ideally non-supported features would have to be disabled, that's all
it can wait for 2.0, too
(assuming 1.3 isn't turning into 2.0 ;)
TBH I'd only do it for the kicks, in the hope my former colleagues "discover" rubberduck and start refactoring their VB6 code base!
besides, VB6 has been "dead" for over a decade already...
 
It couldn't hurt, no. Not beyond the headache of trying to support an environment we don't have access to.
 
Mar 21 at 18:03, by Mat's Mug
I just found 4 dusty CD's... labeled Microsoft Visual Studio 6.0
 
Oh. Shit. You're kidding? Seriously?
 
yup. I mean, no, not kidding ;)
 
1:52 AM
Wow man. Nice find.
Hang onto those. Museum pieces.
 
haha indeed! I just need to install it...
 
I wonder if the nonsense has stopped in the 2nd monitor yet.
 
did I miss something?
oh, the golfed code thing
 
Looks like it got quiet.
 
 
3 hours later…
5:04 AM
- only renaming a module/class breaks refactor/rename; usages don't get picked up :(
pushing. feel free to take a look!
oh wait
        private bool IsInScope(Declaration declaration)
        {
            if (declaration.DeclarationType == DeclarationType.Module ||
                declaration.DeclarationType == DeclarationType.Class)
            {
                // todo: access component instancing properties to do this right
                return true;
            }
that should do it!
yep!
 
5:23 AM
TTGTB
 
> rename works for variables
> procedure rename works across modules
> refactor/rename module renames usages too
> implemented basic validation for newname, fixed UI behavior
> fixed UI. todo: fix rename parameter usages
 
5:46 AM
@Rubberduck203 I just refactor/renamed "Module1" to "Something" - guess what happened to usages of Module1 like "http://Module1.Foo()"?
 
@StackExchange that's right. Module1 was renamed to Something, and Module1.Foo() became Something.Foo()!
And Twitter's auto-url isn't all that smart after all, eh
 
It's official: next release will feature a "Rename" #refactoring. Yes, for #VBA!
 
 
1 hour later…
7:18 AM
> Here is a [sample VB6 add-in](http://vb.mvps.org/tools/vbAdvance/) registration

[HKEY_CURRENT_USER\Software\Microsoft\Visual Basic\6.0\Addins\vbAdvance.Connect]
"Description"="#101"
"FriendlyName"="#100"
"SatelliteDllName"="vbAdvance.dll"
"CommandLineSafe"=dword:00000001
"LoadBehavior"=dword:00000003

`Description` and `FriendlyName` are either resource ids in `SatelliteDllName` are just plain strings.
 
 
3 hours later…
10:42 AM
> Added Branch class and interface
> corrected branch name
> Fixed up COM Interop in relation to recent SC changes
 
Early birds ducks
 
11:03 AM
> In the process of integrating source control, I made some changes to the API. They're forward compatible, but the wiki needs to be updated. Branches now returns the newly created 'Branch` class.
 
11:26 AM
Yeah @skiwi. I'm an early bird, but by no means a morning duck. =;)-
 
11:43 AM
@RubberDuck I can't wait either. But it needs further testing and some fine-tuning before releasing ...
 
@Rubberduck203 Yup. Or just by right-clicking on "Module1" in the code pane where you encounter it. #NamingIsHard. #RenamingIsEasy!
 
Looks like SCI is coming along nicely, too!
 
12:14 PM
@Mat'sMug Yeah. I can get back to implementing it now.
Our internal API returns the remote branches too now. That's what I needed to be able to tell if a branch had been published or not.
I'm kind of amazed that I haven't broken the COM API yet though.
It's going to see some changes eventually, but I want to give people a head's up that the changes are coming.
Because I have no idea if anyone has actually coded against it.
@skiwi There we go. That's better. I've been waiting patiently to be able to star that.
 
12:28 PM
@RubberDuck haha
 
 
2 hours later…
2:02 PM
Hi! Anybody have an idea? stackoverflow.com/q/29277823/3815737
 
@caruzo Hi there!
 
hi!
 
What exactly seems to be the problem. I don't quite understand the question.
Does it work in Excel, but you want to port it to Access?
 
ranges don't exist in the Access object model
you need a rewrite :)
 
I dont' now how use this in Access module
 
2:09 PM
you can't
 
More or less, you can't. Unless you mean to open up the excel workbook.
 
^^
 
Hello
 
@Phrancis Monking
 
hi!
 
2:10 PM
No, I won't use this same code in Acces. I know it have to change, but how... :(
 
that's a very, very broad question....
 
In Excel its easy i take Range(xx:xx) but in access i don't know maybe query
 
tables?
 
Im sorry Mat, I don't speak Englishvery well
 
that's fine
do you have tables in Access that correspond to the ranges you have in Excel?
your SO question is likely to get closed as unclear...
 
2:15 PM
I had base in Excel, but now I building Access base and few dictionaries. After, in Excel, I take string values, now only integers that correspond with dict.
In access I have a table with ID, ID_OPINION and TAG. I want to take all TAGs where ID_OPINION = variable. An this same algorithm in cases.
I know I have to change this code for excel, but I don't know how take range in Access
 
I suggest you take the time to clarify your post, include Access table definitions and screenshots of your Excel data, and clarify what it is that your macro is doing in Excel that you'd like to do in Access.
there's no Range in Access. you work with tables and records.
If you don't know any SQL, you're unlikely to get any help for this on Stack Overflow...
 
I know SQL and I want to take from Access table "range": select tag from TAGS where ID_OPINION = 12. In results we have
1
2
1
And in CASE statement I want show what is nature this combination
In macro are all combinations
So 1,2,1 = 2 because 2 is like FALSE so whole sentence is FALSE ...
 
unrelated, but @RubberDuck I just published something while waiting for my ETL to complete:
damn Y U NO ONEBOX!
 
@caruzo try looking through these questions stackoverflow.com/search?q=adodb+recordset+loop
You need to loop through a recordset instead of a range
@Mat'sMug We should go request that on Meta.
> Naming is hard. Renaming doesn’t have to be!
Win. You should have gone into marketing.
 
lol
0
Q: Are WordPress articles/blogs supposed to onebox in chat?

Mat's MugI could have sworn I've seen WP posts oneboxed in chat (or maybe not?)... but every time I post a WordPress URL it's not oneboxing. Seeing that pasting https://rubberduckvba.wordpress.com/2015/03/26/naming-is-hard-renaming-is-easy/ didn't work, I tried editing to http://.. didn't work either. I...

 
2:43 PM
I checked it and I know how make a loop in adodb recordset, I used much of loops in this base, but I don't really know how make this :( I know I bother... but its very important for me... I write this base I still study vba. Don't you still understand this problem? :(
 
@Mat'sMug @RubberDuck I found where it's failing:
Sub fso_test()

    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")

    Dim Stream As Object
    Set Stream = FSO.CreateTextFile(FileName:="c:\test\helloworld.txt", OverWrite:=True, Unicode:=False)

    Dim fsoGetFile As Object
    Set fsoGetFile = FSO.GetFile("C:\test\Product_ID_update.txt")

    Dim fsoOpenAsStream As Object
    Set fsoOpenAsStream = fsoGetFile.OpenAsTextStream(ForReading) 'INVALID CALL OR ARGUMENT

    Dim fsoReadAll As String
    fsoReadAll = fsoOpenAsStream.ReadAll
OpenAsTextStream(ForReading)
 
Oh!!!!!!!
That's because I early bound the library.
 
o.o
 
isn't it easier to read like this, too?
 
That's an Enum value. You would need to define it yourself if you want to latebind.
 
2:45 PM
How would I go about doing that?
 
const ForReading As Integer = 1
Or just add a damn reference to the Scripting Runtime Library.
 
@caruzo you have the tables, you know how to loop a recordset and what data needs to be read/updated... what's the question?
 
@RubberDuck That did it, good catch!
 
Guys maybe im stupid maybe im tired, but I don't know how it bite
Is it a simple case?
 
@caruzo No. I'm not understanding the problem. I fear there's a language barrier here that we're having trouble with. If you know how to loop and use adodb recordsets, then you will simply need to use that to re-write your Excel code for Access.
@Phrancis You're welcome.
 
2:54 PM
So your version works now. Mine fails on the 2nd iteration for some reason
Might need to break it down like Mug suggested in my loop so I can follow where the error happens
 
scratches head
 
' Create output file
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")

Dim Stream As Object
Set Stream = FSO.CreateTextFile((OutputDirPath & OutputFileName), OverWrite:=True, Unicode:=False)

' Write text lines to output file
Dim FileNameAndPath As String
Const ForReading = 1

For i = LBound(FileArray) To UBound(FileArray)
    FileNameAndPath = (InputDirPath & FileArray(i))
    Debug.Print ("Processing: " & FileNameAndPath)
    Stream.WriteLine FSO.GetFile(FileNameAndPath).OpenAsTextStream(ForReading).ReadAll ' INVALID CALL OR ARGUMENT
 
@caruzo don't call yourself stupid, it's probably just like ducky said - there might be a bit of a language barrier /communication issue. I wish I could help you clarify your SO post, but I'm not sure I understand what you're trying to achieve. Good luck friend!
 
Actually, here is a possible clue... in the output file, it only appended the first letter of the first input file...
Client_Dealer_ID is in input, but only C is in output...
 
@Phrancis this version should be easier to debug.
' Create output file
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")

Dim Stream As Object
Set Stream = FSO.CreateTextFile((OutputDirPath & OutputFileName), OverWrite:=True, Unicode:=False)

' Write text lines to output file
Dim FileNameAndPath As String
Const ForReading = 1

For i = LBound(FileArray) To UBound(FileArray)
    FileNameAndPath = (InputDirPath & FileArray(i))
    Debug.Print ("Processing: " & FileNameAndPath)

	Dim fileToCopy As Object
	Set fileToCopy = FSO.GetFile(FileNameAndPath)
Now, please just add a reference to the library and stop late binding. It makes things much more painful.
 
2:59 PM
^^
 
Ok, and that is done how? Is it in the VBE or in the code?
 
use late binding onlly when you have to - and that should be quite seldom...
add a reference to the scripting library
Tools > References
 
@Mat'sMug Can you check edit post?
@Mat'sMug A little better?
 
if I understand correctly, you need to write an UPDATE query
 
@caruzo A little better, but still a very broad question.
 
3:03 PM
 
What exactly are you having trouble with? What have you tried to do?
 
Which one?
 
essentially you're translating VBA code into SQL
@Phrancis Microsoft Scripting Runtime
 
OK got it
 
@Phrancis here. I strong typed it for you.
' Create output file
Dim FSO As New FileSystemObject

Dim Stream As TextStream
Set Stream = FSO.CreateTextFile((OutputDirPath & OutputFileName), OverWrite:=True, Unicode:=False)

' Write text lines to output file
Dim FileNameAndPath As String

For i = LBound(FileArray) To UBound(FileArray)
    FileNameAndPath = (InputDirPath & FileArray(i))
    Debug.Print ("Processing: " & FileNameAndPath)

	Dim fileToCopy As File
	Set fileToCopy = FSO.GetFile(FileNameAndPath)

	Dim streamToCopy As TextStream
	Set streamToCopy = fileToCopy.OpenAsTextStream(ForReading)
 
3:06 PM
@caruzo btw this is bad code: Select Case True
 
Hmm, it fails on the 2nd iteration of Stream.WriteLine - and again, just appended the 1st letter of 1st file
Something appears to be hanging in limbo after it writes the first letter...?
It may be time to hit SO now lol.
 
@Mat'sMug Now?
 
now it doesn't compile anymore...
I'd roll back that edit ;)
actually it's even less clear now, since you're still calling it "code for Excel", but it's actually your attempt at making it work in Access
and Recordset.Find(1, LookIn:=xlValues, LookAt:=xlWhole) makes no sense
you need to read up on recordsets and understand what you're doing first.. I'm afraid Stack Overflow can't help you at this point.
 
Maybe not sub but function
I give parameter pID_OPINION
And with this ID rst will show me all cells in NATURE_TAG column
then can I use CASE statement
?
 
how are you populating the recordset?
 
3:21 PM
How many cells?
 
you're mixing up concepts here.... I don't know how to help you.
 
Wait, wait. Give me last chance
1
Q: Checking algorithm with two conditions in ranges

caruzoI have a problem with checking algorithm with two conditions in ranges... I want to assign a value after checking the two conditions in ranges... Example: I want to assign a value to column D... and I have numbered ranges with ID (1,2,3...). Column B have value only near ID = 1, next ID is nul...

here Chrismas007 helped me with this problem, but in Excel.
 
lol. he's sometimes found in this chatroom ;)
 
Maybe you understand now how it work in excel
He's very helpful!!
 
well the thinking is completely different in Access... you need to think in terms of sets, not individual rows
first of all, are you trying to SELECT data, or UPDATE the contents of a table?
 
3:31 PM
select data from table tags and update another control
 
unclear. what's a "table tag" and what is "another control"?
 
table tag its a table with tags and my recordset (1 and/or 2 and/or 3)
a control its a textbox in a form
then if in recordset is (1,1,1,1,1) then cobntrol.value = 1
else can be (1,1,1,1,2) then control.value = 2
inthis code are all combinations
Are you leaving?:(
 
we can spend all day doing this. you need to explain clearly what you're trying to do, what steps you've accomplished successfully and where you're failing if you want other people to help you. it feels like you're giving bits of information drop by drop, now there's a form and a textbox to update... your issue is very hard to follow, and the problem is probably fairly simple - take the time it takes to write down what the entire problem is and understand exactly what part isn't working.
hi @Blackhawk!
seen this? :)
 
Hi all!
Niiiiiice! :D
I came to share something fun
 
there's still a few kinks, but I'm probably merging it into [Next] tonight :)
what's up?
 
3:41 PM
VBA supports some unicode chars, so this is possible
Public Sub Main()
• = "Hello World"
MsgBox •
End Sub
 
yeah... talk about readable identifiers ;)
 
0
Q: Printing text files in a loop array only prints 1 letter of first file

PhrancisI have a folder C:\test\ that has multiple .txt files which I need to append to one output text file. Using FSO and TextStream I can write the files explicitly with no problem in this manner: Public Sub test() Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") Co...

 
hehe
 
> Please specify a new name for procedure '♥♦♣♠':
3
 
LOL
°
That one works too
Ø
I just noticed that the immediate window only supported a subset of unicode chars, so I was curious about what chars the actual IDE window supported. Let to a fun bit of code to stump my coworkers with :D
I hid a function definition for • waaaaay down in a module and left them scratching their heads ;)
 
3:45 PM
I've seen Korean comments in VBE code panes...
 
Yeah, it's interesting - some stuff is valid as a character, but not as actual code...
Anyway, just thought I'd share that in case anyone wanted to obfusticate their code or mess with coworkers
:P
 
that makes me wonder... should I force ANSI characters into that rename textbox? hmm...
 
@Blackhawk Oh. I like fun!
@Blackhawk Nooooooo. Seriously? No.
 
@Blackhawk and this is why MS implemented macro security settings ;)
 
ehehehehe :)
Question for you guys. With VBA events, it seems to me that a "parent" object can only listen to events from a specific set of "children", but only if each one is declared as its own vairable WithEvents. Is there a way for a "parent" to listen for events from a collection (array, collection, dictionary, etc) of "children" objects? I don't want to have to reinvent the wheel for event handling cause it would be realllllly wordy.
 
4:07 PM
not that I know of
...not without implementing some kind of delegate ;)
 
4:18 PM
@Blackhawk Yes. There is. One sec. @Enderland came up with something
If I understand the question correctly.
@Blackhawk here. I think this is relevant.
6
Q: Overriding all Access form control AfterUpdate methods

enderlandI have a set of custom event handlers for all my textboxes and combo boxes. The reason for this is my users want the bound form (to SQL Server) to immediately push changes to the recordset, rather than the normal "Save" idea of an Access form. This is the constraint I have to deal with. As a res...

 
4:46 PM
EH_ComboBox => Eh, combobox
 
lol!
 
Oh shit. How do I kill an infinite loop in the VBE?
Forgot to increment i
2
 
@Phrancis ctrl + break
 
Not working :| VBE is (Not Responding)
 
Ctrl+Alt+Break
..or wait for an 'Out of memory' error ;)
 
4:52 PM
I ended task on VBE/Excel, nothing else would work
It works, in principle LOL.
File is too big for Notepad to open haha
 
...or 'Disk full' I/O error
> How to break your computer in 3 lines of code
2
Rubberduck would have caught that BTW
> variable 'i' is never assigned
right?
or ... I wonder if we could actually implement some InfiniteLoopInspection
 
Might not catch everything, but... maybe.
 
@Mat'sMug Oh Oh! I want to put that issue in, since I ran into the problem :)
 
be my guest!
 
Mat's Mug has made a change to the feeds posted into this room
 
5:07 PM
trying something
@RubberDuck shouldn't there be an avalanche of Rubberduck News posts here by now?
 
@Mat'sMug Ohhhhh give it a few minutes....
 
right.
TFL
 
posted on March 10, 2015 by Christopher J. McClellan

Today has been… surreal. Just surreal. It seems Rubberduck has reached the other side of the globe. ウワアァァ!! https://t.co/TQQwEfuqN5 — いげ太 (@igeta) 2015, 3月 9 とんでもないものをTwitterのタイムラインに投下されていました。 1990年代前半から時が止まってしまったかのようなVBAの開発環境 VBE(Visual Basic Editor)に、現代の統合開発環境(IDE)並の機能を追加するクレイジーなアドインが登場したようです。 現代に舞い降りたまさに狂気の権化、その名もRubberduck。 Or, as translated by Google. Outrageous things had been dropp

posted on March 11, 2015 by rubberduckvba

If you’re running 64-bit Microsoft Office, an out-of-the-box Rubberduck install will fail to load in the VBE. Here’s a work-around until we get to re-test everything and release 1.21: First, make sure the Rubberduck.Extension key is defined under Addins64, not just Addins: But then, being registered against the .net 2.0 runtime, the add-in still refuses to load […]

posted on March 17, 2015 by rubberduckvba

64-bit Office At long last, after countless hours of mucking around with InstallShield Express, a working installer for 64-bit Office was finally released. It unfortunately still requires admin privileges, but at that point all I wanted was to get something that works out – we’ll polish later and certainly end up properly addressing issue #310. But the good […]

posted on March 24, 2015 by rubberduckvba

Parsing is hard! Rubberduck parsing is being refined again. The first few releases used a hand-made, regex-based parser. That was not only unmaintainable and crippled with bugs, it also had fairly limited capabilities – sure we could locate procedures, variables, parameters… but the task was daunting and, honestly, unachievable. Version 1.2 changed everything. We ditched the […]

posted on March 26, 2015 by rubberduckvba

There are only two hard things in Computer Science: cache invalidation and naming things. – Phil Karlton How many VBA modules declare variables looking like this: Dim v As Long, vWSs As Variant, Mrange As Range, Vrange As Range Or like this: Dim i As Long Dim LR As Long How many procedures have cryptic […]

 
There ya go @Mat'sMug!
 
Woohoo!
hi @pnuts!
 
5:13 PM
H1 Mat - came across this room not directly from SO but via @mehow's site. Any idea what brettdj did to mehow/vba4all/it's been a pleasure to piss him off so royally?
 
LOL!
he changed his name
@pnuts while you're here, ..have you seen our Rubberduck project? :)
 
That's yet another version!
No hadn't (have now). All power to your elbow but not for me.
 
@pnuts Hey there! welcome to chat.
 
took me the longest time to figure out @mehow was actually @vba4all...
 
He is/was so violently anti formulae questions on SO that name change was soon apparent to me.
 
5:24 PM
lol
I think formulae questions don't quite belong on SO, too ;)
my first answer on MSO (now on MSE):
2
A: Why is there an [excel-formulas] tag?

Mat's MugI'm guessing the thought behind excel-formula is that complex, nested worksheet functions can be semantically assimilable to code. My problem with it, is that, well, it's not code. I don't think it's ok to ask SO how to use Excel - because that's what it comes down to. excel questions should be ...

 
well, I was off to lunch - later!
 
I see them as different in some respects but am convinced they qualify as on topic (at present). For the 'technical' justification see meta.stackoverflow.com/questions/261875/… (also for what passes as consensus).
 
See the value of text before it execs the Stream.WriteLine? WTF?
(goes into invalid call right after that line execs)
Also for some reason it always skips the first file... must be somewhere
<lunch>
 
deltree . is a good way to break your computer
 
5:36 PM
@Phrancis wtf is that?
@pnuts I think they qualify as on topic as well, but I would much rather see them posted to SuperUser.
 
@RubberDuck remind me not to start the next WP post with "**** is hard" ...
 
Mat?
Its me... again
 
I'm not really here... phone chat ;)
 
I made this ado rst
all is working
 
Great!
 
5:45 PM
and tell me is in rst method "FIND" like in RANGEin excel?
Now I need find 1 or 2 or 3 in rst and then write string
 
A recordset is different. You need to iterate it.
It's a "current record" pattern
.fields gives you the columns for the current record
.movenext moves the rs to the next record
 
Yea, I made Debug.Print
And all is right
I have what I need
 
Great! Well done!
 
But I have result 1,2,3 and is in recordset method finding a integer? I want to find 1 in this. Can I?
 
You can get field values either by column name or by column index. So yeah
 
5:51 PM
Columnisonly 1
only one
 
Oh wait, the field value is "1,2,3"
Split the string at commas and get the first item
 
yea, but its not columns
1
2
3
 
it's rows then
 
that is correct result
 
Rs.fields(0).value returns 1 when the current record is the first one. When you do .movenext it will return 2
You need to iterate the recordset.
 
5:54 PM
I did taht:
Do Until mRequest.rstNatureOpinion.EOF
Debug.Print mRequest.rstNatureOpinion.Fields(0)
mRequest.rstNatureOpinion.MoveNext
Loop
Result:
1
2
3
in immediet window
immediate
 
So what is the problem? You need to implement your logic before the .movenext call and you're done.
 
this is loop for test if its working
now I need function or sth who find me in rst integer
in excel is this:
Case FindRng.Find("POSITIVE", LookIn:=xlValues, LookAt:=xlWhole) Is Nothing _
And Not FindRng.Find("NEGATIVE", LookIn:=xlValues, LookAt:=xlWhole) Is Nothing
 
@caruzo Excellent!
 
Instead "POSITIVE" I'll find 1
 
Oh. Guess not.
You'll have to check the value instead of doing a find.
Find in the recordset doesn't work like it does in Excel's Range.
 
5:59 PM
Do you have any idea how can I do this finding?
 
00:00 - 18:0018:00 - 00:00

« first day (293 days earlier)      last day (2887 days later) »