• WSgeofrichardson

    WSgeofrichardson

    @wsgeofrichardson

    Viewing 15 replies - 211 through 225 (of 262 total)
    Author
    Replies
    • in reply to: Multi Select ListBoxes (Access 97) #549580

      Hi
      Thanks for that
      All working well.
      Geof

    • in reply to: JPG Object Exposes Itself? (Access 97) #544425

      Hi
      Thank you for that.
      I learned a lot from that technique & surprise!! I can apply it somewhere else.

      Thanks again
      Geof

    • in reply to: Suspending Page Numbering (Word 97, 2000) #544111

      Hi Anne
      Thanks for the thought.
      I started playing about with this, and surprise the problem just gets bigger.
      Cheers
      Geof

      Sub SuppressPageNumber()
      ‘Purpose is to insert a pair of section breaks at position of selection
      ‘skip pagenumbering for new section and restart numbering on
      ‘first page of following section from previous page number.
      Dim curPageNum As Integer
      Dim NextPageNum As Integer
      Dim newSectnNum As Integer

      curPageNum = Selection.Information(wdActiveEndPageNumber)
      NextPageNum = curPageNum + 1
      MsgBox (“Numbers are ,” & curPageNum & “,” & NextPageNum)
      Selection.InsertBreak Type:=wdSectionBreakNextPage
      Selection.InsertBreak Type:=wdSectionBreakNextPage
      newSectnNum = Selection.Information(wdActiveEndSectionNumber)
      MsgBox (newSectnNum)
      With ActiveDocument.Sections(newSectnNum)
      With .Headers(wdHeaderFooterPrimary)
      .LinkToPrevious = False
      .PageNumbers.RestartNumberingAtSection = True
      .PageNumbers.StartingNumber = NextPageNum
      .PageNumbers.Add
      End With
      End With
      End Sub

    • in reply to: Joining Multiple Word Documents (Word 97 SR2) #544074

      Hi
      You could try using the “IncludeText “field.
      It requests a filename ..

      Check word help

      Cheers
      Geof

    • in reply to: Record Source for a form (2000) #544039

      Hi
      Could you put some unbound controls in the form Header or footer. Use the contents of these once populated as the basis of a query . Then use docmd findrecord ..
      Alternatively create a record set from the querydef and populate the form detail from the record set.

      Cheers
      Geof

    • in reply to: Open Form With a Where Clause (A2K SP1) #543913

      Hi
      Is this the sort of thing you are after.

      docmd.OpenForm “frmName”,acNormal,[QueryNameHere optional if blank leave a comma],[SQLClauseHere without ‘WHERE’ optional],acFormEdit

      Cheers
      Geof

    • in reply to: Switchboard display (access2000) #543891

      Hi
      Start with the simple things ….
      Are you sure that only Access exhibits this “furry” colour ?
      I have an old monitor which responds to a slap on the side. Dry joint in some solder somewhere.

      I also have a multi switch box to allow me to run 4 computers to 1 monitor. A dicky connection responds to a wiggle or two and the colour comes right.

      Cheers
      Geof

    • in reply to: Query problem (Access2000) #543799

      Hello there
      We need a ittle more information pls.
      what tables do you have ?

      Which fieldNames are unique in the relevent tables ?

      Cheers
      Geof

    • in reply to: CommonDialogs (Access97) #543772

      Hi
      Problem solved.
      Thanks for the help.
      Still dont understand the API calls but it works.
      Thanks to Ken Gatz & Paul Litman, Charlotte, Mark , Dev Ashish, Liquorman & the Lounge.

      Here is my solution … dragged in from the MVP Access website http://www.mvps.org/access/forms.
      I put this into a separate module along with my function named QuerysaveAs.
      I called QuerysaveAs from the button on my form.
      Within this code I assigned the variable strTargetQuery to the name of the relevent QueryDef which is in turn an argument in the transferspreadsheet command.
      I dont why it owrks but it does.

      Geof
      ———————————————————–
      Option Compare Database
      Option Explicit
      ‘***************** Code Start **************
      ‘This code was originally written by Ken Getz.
      ‘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:
      ‘ Microsoft Access 95 How-To
      ‘ Ken Getz and Paul Litwin
      ‘ Waite Group Press, 1996

      Type tagOPENFILENAME
      lStructSize As Long
      hwndOwner As Long
      hInstance As Long
      strFilter As String
      strCustomFilter As String
      nMaxCustFilter As Long
      nFilterIndex As Long
      strFile As String
      nMaxFile As Long
      strFileTitle As String
      nMaxFileTitle As Long
      strInitialDir As String
      strTitle As String
      Flags As Long
      nFileOffset As Integer
      nFileExtension As Integer
      strDefExt As String
      lCustData As Long
      lpfnHook As Long
      lpTemplateName As String
      End Type

      Declare Function aht_apiGetOpenFileName Lib “comdlg32.dll” _
      Alias “GetOpenFileNameA” (OFN As tagOPENFILENAME) As Boolean

      Declare Function aht_apiGetSaveFileName Lib “comdlg32.dll” _
      Alias “GetSaveFileNameA” (OFN As tagOPENFILENAME) As Boolean
      Declare Function CommDlgExtendedError Lib “comdlg32.dll” () As Long

      Global Const ahtOFN_READONLY = &H1
      Global Const ahtOFN_OVERWRITEPROMPT = &H2
      Global Const ahtOFN_HIDEREADONLY = &H4
      Global Const ahtOFN_NOCHANGEDIR = &H8
      Global Const ahtOFN_SHOWHELP = &H10
      ‘ You won’t use these.
      ‘Global Const ahtOFN_ENABLEHOOK = &H20
      ‘Global Const ahtOFN_ENABLETEMPLATE = &H40
      ‘Global Const ahtOFN_ENABLETEMPLATEHANDLE = &H80
      Global Const ahtOFN_NOVALIDATE = &H100
      Global Const ahtOFN_ALLOWMULTISELECT = &H200
      Global Const ahtOFN_EXTENSIONDIFFERENT = &H400
      Global Const ahtOFN_PATHMUSTEXIST = &H800
      Global Const ahtOFN_FILEMUSTEXIST = &H1000
      Global Const ahtOFN_CREATEPROMPT = &H2000
      Global Const ahtOFN_SHAREAWARE = &H4000
      Global Const ahtOFN_NOREADONLYRETURN = &H8000
      Global Const ahtOFN_NOTESTFILECREATE = &H10000
      Global Const ahtOFN_NONETWORKBUTTON = &H20000
      Global Const ahtOFN_NOLONGNAMES = &H40000
      ‘ New for Windows 95
      Global Const ahtOFN_EXPLORER = &H80000
      Global Const ahtOFN_NODEREFERENCELINKS = &H100000
      Global Const ahtOFN_LONGNAMES = &H200000

      Function TestIt()
      Dim strFilter As String
      Dim lngFlags As Long
      strFilter = ahtAddFilterItem(strFilter, “Access Files (*.mda, *.mdb)”, _
      “*.MDA;*.MDB”)
      strFilter = ahtAddFilterItem(strFilter, “dBASE Files (*.dbf)”, “*.DBF”)
      strFilter = ahtAddFilterItem(strFilter, “Text Files (*.txt)”, “*.TXT”)
      strFilter = ahtAddFilterItem(strFilter, “All Files (*.*)”, “*.*”)
      MsgBox “You selected: ” & ahtCommonFileOpenSave(InitialDir:=”C:”, _
      Filter:=strFilter, FilterIndex:=3, Flags:=lngFlags, _
      DialogTitle:=”Hello! Open Me!”)
      ‘ Since you passed in a variable for lngFlags,
      ‘ the function places the output flags value in the variable.
      Debug.Print Hex(lngFlags)
      End Function

      Function GetOpenFile(Optional varDirectory As Variant, _
      Optional varTitleForDialog As Variant) As Variant
      ‘ Here’s an example that gets an Access database name.
      Dim strFilter As String
      Dim lngFlags As Long
      Dim varFileName As Variant
      ‘ Specify that the chosen file must already exist,
      ‘ don’t change directories when you’re done
      ‘ Also, don’t bother displaying
      ‘ the read-only box. It’ll only confuse people.
      lngFlags = ahtOFN_FILEMUSTEXIST Or _
      ahtOFN_HIDEREADONLY Or ahtOFN_NOCHANGEDIR
      If IsMissing(varDirectory) Then
      varDirectory = “”
      End If
      If IsMissing(varTitleForDialog) Then
      varTitleForDialog = “”
      End If

      ‘ Define the filter string and allocate space in the “c”
      ‘ string Duplicate this line with changes as necessary for
      ‘ more file templates.
      strFilter = ahtAddFilterItem(strFilter, _
      “Access (*.mdb)”, “*.MDB;*.MDA”)
      strFilter = ahtAddFilterItem(strFilter, _
      “Excel (*.xls)”)
      strFilter = ahtAddFilterItem(strFilter, _
      “Word (*.doc)”)

      ‘ Now actually call to get the file name.
      varFileName = ahtCommonFileOpenSave( _
      OpenFile:=False, _
      InitialDir:=varDirectory, _
      Filter:=strFilter, _
      Flags:=lngFlags, _
      DialogTitle:=varTitleForDialog)
      If Not IsNull(varFileName) Then
      varFileName = TrimNull(varFileName)
      End If
      GetOpenFile = varFileName
      End Function

      Function ahtCommonFileOpenSave( _
      Optional ByRef Flags As Variant, _
      Optional ByVal InitialDir As Variant, _
      Optional ByVal Filter As Variant, _
      Optional ByVal FilterIndex As Variant, _
      Optional ByVal DefaultExt As Variant, _
      Optional ByVal FileName As Variant, _
      Optional ByVal DialogTitle As Variant, _
      Optional ByVal hwnd As Variant, _
      Optional ByVal OpenFile As Variant) As Variant
      ‘ This is the entry point you’ll use to call the common
      ‘ file open/save dialog. The parameters are listed
      ‘ below, and all are optional.

      ‘ In:
      ‘ Flags: one or more of the ahtOFN_* constants, OR’d together.
      ‘ InitialDir: the directory in which to first look
      ‘ Filter: a set of file filters, set up by calling
      ‘ AddFilterItem. See examples.
      ‘ FilterIndex: 1-based integer indicating which filter
      ‘ set to use, by default (1 if unspecified)
      ‘ DefaultExt: Extension to use if the user doesn’t enter one.
      ‘ Only useful on file saves.
      ‘ FileName: Default value for the file name text box.
      ‘ DialogTitle: Title for the dialog.
      ‘ hWnd: parent window handle
      ‘ OpenFile: Boolean(True=Open File/False=Save As)
      ‘ Out:
      ‘ Return Value: Either Null or the selected filename
      Dim OFN As tagOPENFILENAME
      Dim strFileName As String
      Dim strFileTitle As String
      Dim fResult As Boolean
      ‘ Give the dialog a caption title.
      If IsMissing(InitialDir) Then InitialDir = CurDir
      If IsMissing(Filter) Then Filter = “”
      If IsMissing(FilterIndex) Then FilterIndex = 1
      If IsMissing(Flags) Then Flags = 0&
      If IsMissing(DefaultExt) Then DefaultExt = “”
      If IsMissing(FileName) Then FileName = “”
      If IsMissing(DialogTitle) Then DialogTitle = “”
      If IsMissing(hwnd) Then hwnd = Application.hWndAccessApp
      If IsMissing(OpenFile) Then OpenFile = False ‘ GR changed from True ************
      ‘ Allocate string space for the returned strings.
      strFileName = Left(FileName & String(256, 0), 256)
      strFileTitle = String(256, 0)
      ‘ Set up the data structure before you call the function
      With OFN
      .lStructSize = Len(OFN)
      .hwndOwner = hwnd
      .strFilter = Filter
      .nFilterIndex = FilterIndex
      .strFile = strFileName
      .nMaxFile = Len(strFileName)
      .strFileTitle = strFileTitle
      .nMaxFileTitle = Len(strFileTitle)
      .strTitle = DialogTitle
      .Flags = Flags
      .strDefExt = DefaultExt
      .strInitialDir = InitialDir
      ‘ Didn’t think most people would want to deal with
      ‘ these options.
      .hInstance = 0
      ‘.strCustomFilter = “”
      ‘.nMaxCustFilter = 0
      .lpfnHook = 0
      ‘New for NT 4.0
      .strCustomFilter = String(255, 0)
      .nMaxCustFilter = 255
      End With
      ‘ This will pass the desired data structure to the
      ‘ Windows API, which will in turn it uses to display
      ‘ the Open/Save As Dialog.
      If OpenFile Then
      fResult = aht_apiGetOpenFileName(OFN)
      Else
      fResult = aht_apiGetSaveFileName(OFN)
      End If

      ‘ The function call filled in the strFileTitle member
      ‘ of the structure. You’ll have to write special code
      ‘ to retrieve that if you’re interested.
      If fResult Then
      ‘ You might care to check the Flags member of the
      ‘ structure to get information about the chosen file.
      ‘ In this example, if you bothered to pass in a
      ‘ value for Flags, we’ll fill it in with the outgoing
      ‘ Flags value.
      If Not IsMissing(Flags) Then Flags = OFN.Flags
      ahtCommonFileOpenSave = TrimNull(OFN.strFile)
      Else
      ahtCommonFileOpenSave = vbNullString
      End If
      End Function

      Function ahtAddFilterItem(strFilter As String, _
      strDescription As String, Optional varItem As Variant) As String
      ‘ Tack a new chunk onto the file filter.
      ‘ That is, take the old value, stick onto it the description,
      ‘ (like “Databases”), a null character, the skeleton
      ‘ (like “*.mdb;*.mda”) and a final null character.

      If IsMissing(varItem) Then varItem = “*.*”
      ahtAddFilterItem = strFilter & _
      strDescription & vbNullChar & _
      varItem & vbNullChar
      End Function

      Private Function TrimNull(ByVal strItem As String) As String
      Dim intPos As Integer
      intPos = InStr(strItem, vbNullChar)
      If intPos > 0 Then
      TrimNull = Left(strItem, intPos – 1)
      Else
      TrimNull = strItem
      End If
      End Function
      ‘Special thanks to Ken Gatz & Paul Litwin
      ‘************** Code End *****************
      Function QuerySaveAs(strTargetQuery As String)
      ‘Special thanks to Ken Gatz & Paul Litwin
      Dim strFilter As String
      Dim strSaveFileName As String
      On Error GoTo errorhandler:

      strFilter = ahtAddFilterItem(strFilter, “Excel Files (*.xls)”, “*.xls”)
      strSaveFileName = ahtCommonFileOpenSave(OpenFile:=False, Filter:=strFilter, _
      Flags:=ahtOFN_OVERWRITEPROMPT Or ahtOFN_READONLY)
      DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, strTargetQuery, strSaveFileName
      errorhandler:
      Select Case Err.Number
      Case 0, 2522
      Exit Function
      Case Else
      MsgBox (“Error numbered ” & Err.Number & ” occurred” & Chr(13) & Err.Description)
      End Select
      End Function

    • in reply to: Requery Of SubForm Based On A Query (Access 2000) #543646

      Hi

      Can you not set the LinkChild, LinkMaster properties of the subform to the primary keyfield of the main form ?

      Failing that can you set an event for the main form
      maybe onCurrent
      to requery the subform
      e.g
      sub frmMain_OnCurrent
      forms!frmmainForm!frmSubForm.requery
      end sub

      Hope this helps
      Cheers
      Geof

    • in reply to: An all in one parameter query possible? (97) #543645

      Hi
      I would try and set up unbound combo boxes:
      Dealer, Ivoice, details

      The contents of cbox Invoice based on a query that took the value of cboxDealer as input:

      Select blah
      Where varInvoice = forms!frmMyform!cboxDealer

      The on Change event of cboxDealer would need to requery cboxInvoice:

      frms!Myform!cboxInvoice.requery

      I think this technique will work for you
      Really interested in other’s ideas.
      Cheers
      Geof

    • in reply to: CommonDialogs (Access97) #543584

      Hi Folks
      Thanks to Charlotte & Mark.
      It looks as if CommonDialog control is out of control.
      I will now learn about the API’s. Off tp the Access MVPs we go.

      Thanks again.
      Geof

    • in reply to: Cascade Delete & VBA (A2000) #542698

      Hi Charlotte
      Thanks for the thoughts.
      In this case it is fine to move these records and delete the associated records.

      This situation involves product pre purchase inspections. If a decision is made to purchase then a record is populated in the stock table. The inspection results are no longer needed.

      I perceived a need to keep the tblStock and TblPP-Stock separate.
      Probably breaking a few rules along the way. However all seems to be working at present.
      Cheers
      Geof

    • in reply to: Cascade Delete & VBA (A2000) #542685

      Thanks Mark & Charlotte
      I will work on series of delete from the lowest upwards.
      I
      The primary table has Yes/No field.

      I am querying for “Yes” and copying the results (from primary table only) to another table. I then wanted to cascade delete.

      Cheers & thanks for the help.

      Geof

    • in reply to: Cascade Delete & VBA (A2000) #542665

      Hi Charlotte
      I want to give users the ability to delete a record in the primary table and the associated records in two related tables of the 1-M-M but I dont want to have cascade deletes as the default referential integrity settings.

      I was thinking that I would create a routine that defined a delete querydef and toggle the cascade property of the relationship.

      Am I barking up the wrong tree ?
      Cheers & thanks
      Geof

    Viewing 15 replies - 211 through 225 (of 262 total)