|
|
Welcome to the Invelos forums. Please read the forum
rules before posting.
Read access to our public forums is open to everyone. To post messages, a free
registration is required.
If you have an Invelos account, sign in to post.
|
|
|
|
Invelos Forums->General: General Discussion |
Page:
1 Previous Next
|
Finding Missing Locations |
|
|
|
Author |
Message |
Registered: June 9, 2007 | Posts: 1,208 |
| Posted: | | | | I use the location (L) and slot (S) field's in the following way: (L)A001 (S)A (L)A001 (S)B (L)A002 (S)A (L)A002 (S)B [...] (L)A180 (S)B (L)B001 (L)B002 [...] (L)B630 And then the same with C. My question is; how would I go about finding any gaps in this pattern? For example if C223 or A128:A was missing. I noticed last night that I've got a few dozen locations empty in profiler that shouldn't be. As a result I have no idea where those films are On a more postive note, while looking through old excel lists I did find about half a dozen films that weren't in profiler and that I totally forgot I had |
| Registered: March 14, 2007 | Posts: 168 |
| Posted: | | | | I use a similar design as you do too it seems - for me I use letters A - F for Location (denotes which 400-slot DJ box to look in) and numbers 1-400 for the slot number within each box.
This is not perfect, but you might try what I've done when trying to find gaps in the location/slot info.
In the list of your dvd's on the left, right-click the header of the list (while set as view as list) , choose 'View Columns, and then select Disk Location as a column. Then sort by this column. You'll still have to visiall scan to 'see' any gaps, but at least this'll get you closer. Unfortunately, this will only display the 1st disk of each profile, so you'll have to look through box sets/multiple disk profiles on your own.
Best way to find gaps in location was back in an earlier version of DVDP, useing CSV exporting and then manipulating that data in MSAccess (or excel, I suppose). Unfortunately, I've not been able to get that to work since the current version was released. |
| Registered: June 9, 2007 | Posts: 1,208 |
| Posted: | | | | Ok I managed to get this sorted. It's a bit long winded but I'll post how here in case it'll benefit anyone else. It's actually fairly quick if you're familiar with Excel. If you use the format (L)A001 (L)A002... do the following:Export your collection to an XML fileOpen that in ExcelCopy/paste your location column (should be U/V'ish) into col F of another file Remove the column heading and sort ascendingCopy/paste the locations of the first box into col A and select the columnRun macro 'A' - this will remove the first letter from each cell (this will only work with the letter A, for other letters change the letter in quotes in the codeRun macro 'B' - this will print in col B which gaps it finds, if you look for these numbers in your box they'll either be empty or you may have a nice surprise!Repeat for your other boxesAt the end clear everything off the sheet and save the file (with macros) in case you need to do it again.If you use the format (L)A(S)001 (L)A(S)002... do the following:Export your collection to an XML fileOpen that in ExcelCopy/paste your location and slot columns (should be U/V'ish) into col F/G of another file Remove the column headings, select both columns and sort ascending (col F then G)Copy/paste the slots of the first box into col A and select the columnRun macro 'B' - this will print in col B which gaps it finds, if you look for these numbers in your box they'll either be empty or you may have a nice surprise!Repeat for your other boxesAt the end clear everything off the sheet and save the file (with macros) in case you need to do it again.Macro 'A'Quote:
Sub TruncateCells_A()
Dim rng As Range
For Each rng In Selection If Left(rng, 1) = "A" Then rng = Right(rng, Len(rng) - 1) End If Next
End Sub
Macro 'B'Quote:
Public Sub Missing_Numbers() Dim iLoop As Long, iLoop2 As Long Dim Last_Row As Long Dim Old_Number As Long, New_Number As Long Last_Row = Range("A65536").End(xlUp).Row Old_Number = Val(Right(ActiveSheet.Range("A1").Value, 5)) For iLoop = 1 To Last_Row New_Number = Val(Right(Worksheets(1).Range("A" & iLoop).Value, 5)) For iLoop2 = Old_Number To (New_Number - 2) ActiveSheet.Range("B" & Range("B65536").End(xlUp).Row + 1).Value = _ "Number " & iLoop2 + 1 & " is missing from the list" Next iLoop2 Old_Number = New_Number Next iLoop End Sub
And if you want to find duplicates; prepare the data as above (although if you prefix your locations with a letter you don't have to remove it like before) and run the macro below: Quote:
Sub FindDups() ' ' NOTE: You must select the first cell in the column and ' make sure that the column is sorted before running this macro ' ScreenUpdating = False FirstItem = ActiveCell.Value SecondItem = ActiveCell.Offset(1, 0).Value Offsetcount = 1 Do While ActiveCell <> "" If FirstItem = SecondItem Then ActiveCell.Offset(Offsetcount, 0).Interior.Color = RGB(255, 0, 0) Offsetcount = Offsetcount + 1 SecondItem = ActiveCell.Offset(Offsetcount, 0).Value Else ActiveCell.Offset(Offsetcount, 0).Select FirstItem = ActiveCell.Value SecondItem = ActiveCell.Offset(1, 0).Value Offsetcount = 1 End If Loop ScreenUpdating = True End Sub
Took me about an hour but I found all but 4 of the locations missing as well as another couple dozen that weren't in my collection mostly music/special interest but a few films too. | | | Last edited: by MarEll |
| Registered: March 18, 2007 | Reputation: | Posts: 6,463 |
| Posted: | | | | Hmmm ... nice little primer on Excel scripting. I'll come back here and study it when I need to do that! By the way, could the BulkEdit listing have helped in any way? Just curious, since you can list location and slot and sort on either one ... Or maybe DB Query?
Reason I'm asking is that most people (including me) can't do cool Excel scripting. But maybe they could use those other ways to get a jump start ... just wanted your opinion, since you use those tools as well.
@MarkEll - got it. Thanks for the perspective. I get good ideas for possible plugin tweaks that way. | | | Thanks for your support. Free Plugins available here. Advanced plugins available here. Hey, new product!!! BDPFrog. | | | Last edited: by mediadogg |
| Registered: March 14, 2007 | Posts: 168 |
| Posted: | | | | Glad to see you got it sorted out. From what I can tell, you've approached it in a very similar way to how I did it in Access as well.
After posting before in this topic, I dug out that old mdb application and fiddled with it. Happy to say I got it working again too. It is set up to work with Location format of (L)A(S)001 and it reports on both gaps in sequence and duplicate assignments.
About the biggest difference is that I didn't export as XML, but used the Export to CSV plugin. |
| Registered: March 14, 2007 | Posts: 168 |
| Posted: | | | | I've not looked at BulkEdit before - I'll have to check it out. And though I've played around with DBQuery before, I never really explored working with location info with it. Sounds like a couple of avenues to explore | | | Last edited: by MsPaula |
| Registered: June 9, 2007 | Posts: 1,208 |
| Posted: | | | | MD- The ability of BE and DBQ to list all discs in a collection is certainly handy but to use just those tools to find gaps would require looking through the list manually and trying to spot gaps/dupes as Mike mentioned in his first post. Unless you know something I don't ? I haven't spotted any find gaps/dupes query in DBQ, maybe I should ask Mark about it. Mike- Could you send me a copy of that mdb file? If it's simpler than using Excel, I'll have a go at altering it for my format. And, you should definitely check out those plugins. DBQuery is very handy for looking up locations where profiles have more than 1 disc (as profiler only lists the 1st one). And BulkEdit is great for adding a few in one go, among other things |
|
|
Invelos Forums->General: General Discussion |
Page:
1 Previous Next
|
|
|
|
|
|
|
|
|