Extracting content from an ACCDE Database (1 Viewer)

Cark

Registered User.
Local time
Yesterday, 23:55
Joined
Dec 13, 2016
Messages
153
Via my work network, I have access to an old ACCDE Database that someone (who has since left the company) made a very long time ago that has a list box selector with some VBA Code in the background (I think that is how it is working) that looks perfect for me to use in one of my applications.

I have asked around to see if anyone has the original Access Database and we have been unable to find it anywhere on the network and the original creater is no longer contactable.

Are there any methods to be able to extract the content from the ACCDE Database (most importantly pulling the VBA from it)? Free tools / Paid tools / workaround methods are all something I may be able to consider as the ACCDE Database does not contain anything relevant to company sensitive data.
 

isladogs

MVP / VIP
Local time
Today, 06:55
Joined
Jan 14, 2017
Messages
18,186
For security, ACCDE files cannot be reverse engineered to recover the code.
That wasn't the case with the older MDE files which were fairly simple to crack.

You need to find the original ACCDB file in order to do any editing.

For more details on this topic see my extended article at http://www.mendipdatasystems.co.uk/compare-access-file-security/4594444323

However, as the article mentions, there is a specialist company called EverythingAccess that can recover the code ...but this will be expensive and you will have to provide proof of ownership which it sounds like you won't have.
 

Minty

AWF VIP
Local time
Today, 06:55
Joined
Jul 26, 2013
Messages
10,355
What does this listbox do that is so clever?
I'm sure between us we could recreate it some how?
 

gemma-the-husky

Super Moderator
Staff member
Local time
Today, 06:55
Joined
Sep 12, 2006
Messages
15,614
We probably could advise, but if it's in an .de database, @cark isn't going to be able to make the change in his database.

if you have to obtain the source wayne at everythingaccess.com might be your best bet, but I doubt it will be free. (I see colin already gave this link)
 

Minty

AWF VIP
Local time
Today, 06:55
Joined
Jul 26, 2013
Messages
10,355
@Dave - What I meant was what does it do in terms of it's functionality, not the code.

Could you screen shot it and add some words of wisdom describing it's purpose?
 

Micron

AWF VIP
Local time
Today, 02:55
Joined
Oct 20, 2018
Messages
3,476
but if it's in an .de database, @cark isn't going to be able to make the change in his database.
Your thinking is that the target db is also .de? I don't think the target database type was revealed.

that looks perfect for me to use in one of my applications.
 

HiTechCoach

Well-known member
Local time
Today, 01:55
Joined
Mar 6, 2006
Messages
4,357
Via my work network, I have access to an old ACCDE Database that someone (who has since left the company) made a very long time ago that has a list box selector with some VBA Code in the background (I think that is how it is working) that looks perfect for me to use in one of my applications.

I have asked around to see if anyone has the original Access Database and we have been unable to find it anywhere on the network and the original creater is no longer contactable.

Are there any methods to be able to extract the content from the ACCDE Database (most importantly pulling the VBA from it)? Free tools / Paid tools / workaround methods are all something I may be able to consider as the ACCDE Database does not contain anything relevant to company sensitive data.

If you do not have the source database (accdb) that was used to compile the accde then it will have to be recreated.

I agree with @Minty that if you try to create it yourself and need help, that the great community here will be able to help you do it.
 

Cark

Registered User.
Local time
Yesterday, 23:55
Joined
Dec 13, 2016
Messages
153
Thank you all for the clarification/advice.

The form for the list box picker on the face of it works relatively simply by taking whatever is selected (multiple selections using ctrl+left click are accepted). When one clicks on Add--> the selected items from "List Available" are added to the "List Selected" side.

The <--Remove works in a similar way in terms of the selections, but naturally removes the selected items from the "List Selected" side and does nothing to the "List Available" side.

"Add All" and "Remove All" buttons exists to add everything to the "List Selected" side and remove them respectively.

The "List Available" and "List Selected" sides appear to be tables or queries which are being displayed as there are 2 Tables that exist in the database.

One is called TblList (which appears to have a large list of all the car manufacturers) and the other is called TblSelected (which appears to have the exact same car manufacturers in it that were currently selected in the form at that moment in time). There is also a query called qryAppendAll which is an Append Query (local).
 

Attachments

  • Capture.PNG
    Capture.PNG
    47.2 KB · Views: 266

Minty

AWF VIP
Local time
Today, 06:55
Joined
Jul 26, 2013
Messages
10,355
I have the same layout and process for moving employees into a training schedule.
It's an older database but I should be able to get into it to extract the basics given some time.

I'm sure there's a demo database somewhere of a similar technique, but I can't locate it at the moment.
 

gemma-the-husky

Super Moderator
Staff member
Local time
Today, 06:55
Joined
Sep 12, 2006
Messages
15,614
I do this with a field in the table called "selected", say.

The list on the lift shows where "selected = false"
The list on the right shows "selected = true"

The "move" buttons update the "selected" property and requery the list boxes.

The hardest bit is dereferencing the selected item(s) in the list box, to get the rowid of the active row.
 

moke123

AWF VIP
Local time
Today, 02:55
Joined
Jan 11, 2013
Messages
3,852
see if any of these will do. There is a pick list example also.
 

Attachments

  • ListboxExamples.accdb
    884 KB · Views: 232

Cark

Registered User.
Local time
Yesterday, 23:55
Joined
Dec 13, 2016
Messages
153
Thank you all for your great input.

I am trying to play around with the ListBoxExamples database and have managed to copy the 2 column list w/query rowsource to a 2 column value list into a form and it appears to be working ok to some extent.

I am now trying to get it so that I can use it as a subform in another form and have the ListBox selections passed through to the data tables so that the selections for fleet are saved for the associated part number.

To try and explain how I would like it to work, in the database attached FrmOverview is the starting point to look at. The "General Information, Reliability, Engineering, Finance, Design, Sales, Aftercare and Support" Tabs are different places for each department to insert information. For this particular issue that I am wanting to address, we can just focus on the "General Information" Tab. On the "General Information" Tab I have added the FrmSubFleetPicker as a Subform to add my selections. This has been achieved by having the FrmSubFleetPicker as a Subform in FrmSubGeneralInformation which is then used as a Subform in FrmOverview in the General Information Tab.

How do I go about giving the List6 data (the Fleets that have been picked/selected in FrmSubFleetPicker) a relationship to the data in PartID?

If for example on TESTPARTNO1 I had selected A330 and EM90, I would want this storing in a table (I have made an attempt with this with TblFleetSelections) to be exported and analysed later. For TESTPARTNO2 I would want A330 and EM70 etc etc.

My thoughts are that I will need to set up relationships, and row source properties on my controls, however I have not been able to get it to work.

The attached images show how I would like it to work.

Let me know if anything further needs explaining.
 

Attachments

  • Capture2.PNG
    Capture2.PNG
    27.3 KB · Views: 160
  • Capture1.PNG
    Capture1.PNG
    31.7 KB · Views: 138
  • ListBoxToTable.accdb
    968 KB · Views: 123

moke123

AWF VIP
Local time
Today, 02:55
Joined
Jan 11, 2013
Messages
3,852
One thing to note- declare option explicit in every module. It will save you from many headaches.

Not sure why you're complicating things with the sub form for the list boxes.

How do I go about giving the List6 data (the Fleets that have been picked/selected in FrmSubFleetPicker) a relationship to the data in PartID?
You can use a junction table like you attempted. You need both PartID and FleetID in that table.

look at the rowsource for lstAvailable in the attached example. It lists all the Fleets which are not in the junction table for that PartID. Adversely, lstSelected shows the fleets which are selected for that part.

is this closer to what you want?
 

Attachments

  • CarkListbox.accdb
    1.2 MB · Views: 156

Cark

Registered User.
Local time
Yesterday, 23:55
Joined
Dec 13, 2016
Messages
153
By all means I am happy to consider this approach and I agree it would be nice to avoid the use of a subform.

I just tested the database and ran into a bit of an issue involving the PartID.

It appears that when I try entering a new record for a new Part Number, it creates a PartID in the TablePartID table, but does not pass this over to the TblFleetSelections. I tried setting the relationship as a one-to-many for the TablePartID and TblFleetSelections and it still didn't seem to resolve the Run-time error 3134 Syntax error in INSERT INTO statement.

The debug.print for the error is "Insert into TblFleetSelections(PartID,FleetID) values(,3)"

I take it is giving me this issue because there is no PartID?
 

Attachments

  • Capture1.PNG
    Capture1.PNG
    55.1 KB · Views: 135
  • Capture2.PNG
    Capture2.PNG
    38.4 KB · Views: 144

moke123

AWF VIP
Local time
Today, 02:55
Joined
Jan 11, 2013
Messages
3,852
Not sure how your creating the new record as your example has limited info.

The error and the debug.print show that the new part number is not getting picked up from the form reference. You may need to explicitly save the new record first or adjust form references.

try changing

Code:
Private Sub sAddFleet()

    Dim strSql As String

    strSql = "Insert into TblFleetSelections(PartID,FleetID) values(" & Me.PartID & "," & Me.lstAvailable & ")"

    'Debug.Print strSql

    CurrentDb.Execute strSql, dbFailOnError

End Sub

to

Code:
Private Sub sAddFleet()

    Dim strSql As String

    strSql = "Insert into TblFleetSelections(PartID,FleetID) values(" & Parent.PartID & "," & Me.lstAvailable & ")"

    'Debug.Print strSql

    CurrentDb.Execute strSql, dbFailOnError

End Sub
 

Cark

Registered User.
Local time
Yesterday, 23:55
Joined
Dec 13, 2016
Messages
153
Code:
Private Sub sAddFleet()

    Dim strSql As String

    strSql = "Insert into TblFleetSelections(PartID,FleetID) values(" & Parent.PartID & "," & Me.lstAvailable & ")"

    'Debug.Print strSql

    CurrentDb.Execute strSql, dbFailOnError

End Sub

Worked perfectly. Thank you. I will keep testing it to try and break it, but it seems ok so far.
 

blah

Registered User.
Local time
Yesterday, 23:55
Joined
Jun 23, 2011
Messages
21
For security, ACCDE files cannot be reverse engineered to recover the code.

However, as the article mentions, there is a specialist company called EverythingAccess that can recover the code

If they can do it, then it can be reverse engineered, apparently.

So how do they do it?
 

Users who are viewing this thread

Top Bottom