Re: error loading DLL



I just copied the code from "The Access Web" into a module and it ran
without any errors.

--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)



"phillip9" <phillip9@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:5DEE5A43-CF99-48DE-9921-ECA6C1181740@xxxxxxxxxxxxxxxx
> Hello Mr. Steele,
>
> I have tried copying the code you linked to into my Module1. When I
> compile, I get the following error:
> compile error: only comments may appear after End Sub, End Function,
> or
> End Property
>
> With the error occuring on the "Private Declare Function
> apiGetFileVersionInfoSize line
> (see code sample below) I did notice that the IDE is not putting a
> function/sub line-break before that line in the IDE window. So, I wonder
> if
> this code sample is missing either an "END SUB" or "end function" line?
>
> ----- code with error listed below -------
>
> ' ******** Code Start ********
> 'This code was originally written by Dev Ashish.
> 'It is not to be altered or distributed,
> 'except as part of an application.
> 'You are free to use it in any application,
> 'provided the copyright notice is left unchanged.
> '
> 'Code Courtesy of
> 'Dev Ashish
> '
> ' structure contains version information about a file. This
> ' information is language and code page independent.
> Private Type VS_FIXEDFILEINFO
> ' Contains the value 0xFEEFO4BD (szKey)
> dwSignature As Long
> ' Specifies the binary version number of this structure.
> dwStrucVersion As Long
> ' most significant 32 bits of the file's binary version number.
> dwFileVersionMS As Long
> ' least significant 32 bits of the file's binary version number.
> dwFileVersionLS As Long
> ' most significant 32 bits of the binary version number of
> ' the product with which this file was distributed
> dwProductVersionLS As Long
> ' least significant 32 bits of the binary version number of
> ' the product with which this file was distributed
> dwFileFlagsMask As Long
> ' Contains a bitmask that specifies the valid bits in dwFileFlags.
> dwProductVersionMS As Long
> ' Contains a bitmask that specifies the
> ' Boolean attributes of the file.
> dwFileFlags As Long
> ' operating system for which this file was designed.
> dwFileOS As Long
> ' general type of file.
> dwFileType As Long
> ' function of the file.
> dwFileSubtype As Long
> ' most significant 32 bits of the file's 64-bit
> ' binary creation date and time stamp.
> dwFileDateMS As Long
> ' least significant 32 bits of the file's 64-bit binary
> ' creation date and time stamp.
> dwFileDateLS As Long
> End Type
>
> ' ------ **** error happens at the following function **** ----------
> ' Returns size of version info in Bytes
> Private Declare Function apiGetFileVersionInfoSize _
> Lib "version.dll" Alias "GetFileVersionInfoSizeA" _
> (ByVal lptstrFilename As String, _
> lpdwHandle As Long) _
> As Long
>
> ' Read version info into buffer
>
>
> "Douglas J. Steele" wrote:
>
>> What you can try and do is ensure that the same referenced files exist on
>> all workstations.
>>
>> Grab the code from http://www.mvps.org/access/api/api0065.htm at "The
>> Access
>> web" and save it in a module.
>>
>> On the workstation where the application was developed, open up the MDB
>> that
>> was used to create the MDE. Run the following code to determine all of
>> the
>> required references and the version that's being expected:
>>
>> Sub ListReferences()
>> Dim refCurr As Reference
>>
>> For Each refCurr In Application.References
>> Debug.Print refCurr.Name & ": " & refCurr.FullPath & _
>> " (" & fGetProductVersion(refCurr.FullPath) & ")"
>> Next
>>
>> End Sub
>>
>> Next, on the workstation(s) where the application isn't working, check to
>> see that the exact same version of each of those files is located in
>> exactly
>> the same location.
>>
>> --
>> Doug Steele, Microsoft Access MVP
>> http://I.Am/DougSteele
>> (no e-mails, please!)
>>
>>
>>
>> "phillip9" <phillip9@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
>> news:C9B09440-CFBF-464F-9207-B89FC183B3AF@xxxxxxxxxxxxxxxx
>> > Hello everyone,
>> >
>> > I'm using a shared access database on our network. All users but 1 can
>> > use
>> > it without error. The other user was fine yesterday, but today gets an
>> > error
>> > "error in loading DLL" error # 48, source pitrack. Pitrack is the
>> > name
>> > of
>> > the database.
>> >
>> > I have the following references setup in this order:
>> > visual basic for applications
>> > ms access 10.0 object library
>> > ole automation
>> > ms dao 3.6 object library
>> > ms activex data objects 2.5 library
>> >
>> > The code that causes the error is using DAO and is listed below.
>> >
>> > all machines are using the Access runtime 10.0.2627.1
>> >
>> > Can anyone help me narrow down this problem? I now from past
>> > experience
>> > that reinstalling the runtime will fix the problem, but this has
>> > happened
>> > a
>> > few times now on several different computers, so I would like to find
>> > the
>> > source of the problem.
>> >
>> > thank you
>> >
>> > ----- code here that causes error ----- I do not know which line is
>> > erroring out ---
>> >
>> > On Error GoTo error_handler
>> > Dim rs As DAO.Recordset
>> > Dim db As DAO.Database
>> > Dim PID As Long
>> > Dim fileNumber As String
>> > Dim sqlString As String
>> > Set db = CurrentDb()
>> > Dim dbs As DAO.Database
>> > Dim qdf As DAO.querydef
>> > Set dbs = CurrentDb()
>> >
>> > If txtID = "" Or IsNull(txtID) Then
>> > Exit Sub
>> > End If
>> >
>> > '--------------------------------------------
>> > ' find the PID (project id) using module1 function
>> > PID = PropertyID(txtID)
>> >
>> > If PID < 0 Then
>> > 'error occured, was not found
>> > MsgBox "Error PID not found"
>> > Exit Sub
>> > End If
>> >
>> > '------------------------------------------------
>> > ' project
>> > '
>> > 'generate sql for project
>> > sqlString = "SELECT active_property.property_id,
>> > active_property.servicing_site_name_text,active_property.property_name_text,
>> > active_property.address_line1_text, active_property.address_line2_text,
>> > "
>> > & _
>> > "active_property.city_name_text, active_property.state_code,
>> > active_property.zip_code, active_property.county_name_text,
>> > active_property.property_on_site_phone_number,
>> > active_property.primary_fha_number, " & _
>> > "active_property.associated_fha_number,
>> > active_property.associated_contract_number,
>> > active_property.project_manager_name_text,active_property.total_assisted_unit_count,
>> > active_property.total_unit_count, " & _
>> > "active_property.congressional_district_code,
>> > active_property.primary_financing_type,
>> > active_property.is_afs_required_ind,
>> > active_property.afs_fiscal_yr_end_date,
>> > active_property.client_group_type
>> > " &
>> > _
>> > "FROM active_property " & _
>> > "WHERE (((active_property.property_id)= " & PID & "))"
>> > '---------------------------------------
>> > ' create the Query for the report
>> > dbs.querydefs.Refresh
>> > ' If query exists, delete it.
>> > For Each qdf In dbs.querydefs
>> > If qdf.Name = "qryProject" Then
>> > dbs.querydefs.Delete qdf.Name
>> > End If
>> > Next qdf
>> >
>> > Set qdf = dbs.CreateQueryDef("qryProject", sqlString)
>> >
>> > Forms!frmPIR_3.RecordSource = "qryProject"
>> >
>> > '------------------------------------------------------------
>> > ' management agent contact
>> > '
>> > '
>> > sqlString = "SELECT DISTINCT active_property.property_id,
>> > active_property_participant.mgmt_contact_full_name,
>> > active_property_participant.mgmt_contact_address_line1, " & _
>> > "active_property_participant.mgmt_contact_address_line2,
>> > active_property_participant.mgmt_contact_city_name,
>> > active_property_participant.mgmt_contact_state_code, " & _
>> > "active_property_participant.mgmt_contact_zip_code,
>> > active_property_participant.mgmt_contact_main_phn_nbr,
>> > active_property_participant.mgmt_contact_main_fax_nbr,
>> > active_property_participant.mgmt_contact_email_text " & _
>> > "FROM active_property INNER JOIN active_property_participant
>> > ON
>> > active_property.property_id = active_property_participant.property_id "
>> > &
>> > _
>> > "WHERE (((active_property.property_id)= " & PID & "))"
>> > '---------------------------------------
>> > ' create the Query for the report
>> > dbs.querydefs.Refresh
>> > ' If query exists, delete it.
>> > For Each qdf In dbs.querydefs
>> > If qdf.Name = "qryManagementAgentContact" Then
>> > dbs.querydefs.Delete qdf.Name
>> > End If
>> > Next qdf
>> >
>> > Set qdf = dbs.CreateQueryDef("qryManagementAgentContact", sqlString)
>> > Forms!frmPIR_3.[frmManagementAgentContact].Form.RecordSource =
>> > "qryManagementAgentContact"
>> >
>> >
>> > '-------------------------------------------------------------------
>> > ' management agent
>> > '
>> > sqlString = "SELECT DISTINCT active_property.property_id,
>> > active_property_participant.mgmt_agent_org_name,
>> > active_property_participant.mgmt_agent_address_line1,
>> > active_property_participant.mgmt_agent_address_line2,
>> > active_property_participant.mgmt_agent_city_name,
>> > active_property_participant.mgmt_agent_state_code,
>> > active_property_participant.mgmt_agent_zip_code,
>> > active_property_participant.mgmt_agent_main_phone_number,
>> > active_property_participant.mgmt_agent_main_fax_number,
>> > active_property_participant.mgmt_agent_email_text " & _
>> > "FROM active_property INNER JOIN active_property_participant
>> > ON
>> > active_property.property_id = active_property_participant.property_id "
>> > &
>> > _
>> > "WHERE (((active_property.property_id)=" & PID & "))"
>> > '------------------------------------------------------------
>> > ' management agent
>> > ' create the Query for the report
>> > '
>> > dbs.querydefs.Refresh
>> > ' If query exists, delete it.
>> > For Each qdf In dbs.querydefs
>> > If qdf.Name = "qryManagement" Then
>> > dbs.querydefs.Delete qdf.Name
>> > End If
>> > Next qdf
>> >
>> > Set qdf = dbs.CreateQueryDef("qryManagement", sqlString)
>> > 'DoCmd.OpenQuery qdf.Name
>> >
>> > Forms![frmPIR_3].[frmManagement].Form.RecordSource = "qryManagement"
>> >
>> > '------------------------------------------------------------
>> > ' property manager
>> > '
>> > sqlString = "SELECT DISTINCT active_property.property_id,
>> > active_property_participant.mgmt_contact_full_name,
>> > active_property_participant.mgmt_contact_address_line1,
>> > active_property_participant.mgmt_contact_address_line2,
>> > active_property_participant.mgmt_contact_city_name,
>> > active_property_participant.mgmt_contact_state_code,
>> > active_property_participant.mgmt_contact_zip_code,
>> > active_property_participant.mgmt_contact_main_phn_nbr,
>> > active_property_participant.mgmt_contact_main_fax_nbr,
>> > active_property_participant.mgmt_contact_email_text " & _
>> > "FROM active_property INNER JOIN active_property_participant
>> > ON
>> > active_property.property_id = active_property_participant.property_id "
>> > &
>> > _
>> > "WHERE (((active_property.property_id)=" & PID & "))"
>> >
>> > '---------------------------------------
>> > ' create the Query for the report
>> > dbs.querydefs.Refresh
>> > ' If query exists, delete it.
>> > For Each qdf In dbs.querydefs
>> > If qdf.Name = "qryPropertyManager" Then
>> > dbs.querydefs.Delete qdf.Name
>> > End If
>> > Next qdf
>> >
>> > Set qdf = dbs.CreateQueryDef("qryPropertyManager", sqlString)
>> > Forms!frmPIR_3.[frmPropertyManager].Form.RecordSource =
>> > "qryPropertyManager"
>> >
>> > '-----------------------------------------------------
>> > ' owner section
>> > '
>> > sqlString = "SELECT DISTINCT
>> > active_property_participant.property_id,
>> > active_property_participant.owner_organization_name,
>> > active_property_participant.owner_address_line1,
>> > active_property_participant.owner_address_line2,
>> > active_property_participant.owner_city_name,
>> > active_property_participant.owner_state_code,
>> > active_property_participant.owner_zip_code,
>> > active_property_participant.owner_main_phone_number_text,
>> > active_property_participant.owner_main_fax_number_text,
>> > active_property_participant.owner_email_text,
>> > active_property_participant.owner_contact_indv_full_name,
>> > active_property_participant.owner_contact_main_phone_num,
>> > active_property_participant.owner_contact_main_fax_num,
>> > active_property_participant.owner_contact_email_text " & _
>> > "FROM active_property_participant " & _
>> > "WHERE active_property_participant.property_id=" & PID
>> > '---------------------------------------
>> > ' create the Query for the report
>> > dbs.querydefs.Refresh
>> > ' If query exists, delete it.
>> > For Each qdf In dbs.querydefs
>> > If qdf.Name = "qryOwner" Then
>> > dbs.querydefs.Delete qdf.Name
>> > End If
>> > Next qdf
>> >
>> > Set qdf = dbs.CreateQueryDef("qryOwner", sqlString)
>> > Forms![frmPIR_3]![frmOwner].Form.RecordSource = "qryOwner"
>> >
>> > '-----------------------------------------------------
>> > ' mortgagee section
>> > '
>> > sqlString = "SELECT DISTINCT
>> > active_property.property_id,financing_instrument.primary_loan_code,
>> > hometab.institution_name, hometab.m_addr_line1, hometab.m_addr_line2,
>> > hometab.m_city, hometab.m_state, hometab.m_zip1 " & _
>> > "FROM (active_property INNER JOIN financing_instrument
>> > ON
>> > active_property.property_id = financing_instrument.property_id) INNER
>> > JOIN
>> > hometab ON financing_instrument.srvcr_mrtge_nbr =
>> > hometab.srvcr_mrtge_nbr
>> > " &
>> > _
>> > "WHERE (((active_property.property_id)= " & PID & ") AND
>> > ((financing_instrument.primary_loan_code)='1'))"
>> > '---------------------------------------
>> > ' create the Query for the report
>> > dbs.querydefs.Refresh
>> > ' If query exists, delete it.
>> > For Each qdf In dbs.querydefs
>> > If qdf.Name = "qryMortgagee" Then
>> > dbs.querydefs.Delete qdf.Name
>> > End If
>> > Next qdf
>> >
>> > Set qdf = dbs.CreateQueryDef("qryMortgagee", sqlString)
>> > Forms![frmPIR_3]![frmMortgagee].Form.RecordSource = "qryMortgagee"
>> >
>> > '-----------------------------------------------------
>> > ' Contract Administrator Contact
>> > '
>> > '---------------------------------------
>> > ' create the Query for the report
>> > sqlString = "SELECT DISTINCT contract_contact.property_id,
>> > contract_contact.contact_name, contract_contact.main_phone,
>> > contract_contact.main_fax, contract_contact.email,
>> > contract_contact.street_address, contract_contact.street2_address,
>> > contract_contact.city, contract_contact.state,
>> > contract_contact.zip_code,
>> > contract_contact.zip4_code " & _
>> > "FROM contract_contact INNER JOIN contract_participant
>> > ON
>> > contract_contact.contract_number=contract_participant.contract_number "
>> > &
>> > _


.



Relevant Pages

  • Re: error loading DLL
    ... ' Contains a bitmask that specifies the valid bits in dwFileFlags. ... > Dim refCurr As Reference ... >> Dim qdf As DAO.querydef ... >> ' If query exists, ...
    (microsoft.public.access.formscoding)
  • Re: Find text in SQL
    ... database as a query named something along those lines. ... >> Dim dbs As DAO.Database ... >> Dim qdf As QueryDef ...
    (microsoft.public.access.modulesdaovba)
  • Re: error loading DLL
    ... Dim refCurr As Reference ... > Dim qdf As DAO.querydef ... > ' create the Query for the report ... > ' If query exists, ...
    (microsoft.public.access.formscoding)
  • Re: Find text in SQL
    ... and it shows the full SELECT statement from this query. ... > wildcards in your search string if you wish. ... > Dim dbs As DAO.Database ... > Dim qdf As QueryDef ...
    (microsoft.public.access.modulesdaovba)

Loading