Random Beep when i tab into a textbox and delete its contents (1 Viewer)

chrisjames25

Registered User.
Local time
Today, 13:00
Joined
Dec 1, 2014
Messages
401
Hi I keep getting a random beep when i go into a textbox and delete the content of the textbox.

To be clear when i tab into the textbox its selects the whole of the text automatically and then i click delete and get a beep.

If i enter the textbox and then select the end of the string and then keep clicking backspace till all string is deleted i get no beep.

Code different for each textbox so dont beleive its any of the code that i have for each one.

I have been getting help on another thread regarding chaging the background colour of a textbox on entry and have used a module code that gasman provided but doesnt seem to contain a .beep in it.

Does a beep noise mean anythign other than it being an irritant.

module code is
Code:
Option Compare Database
Option Explicit
'Purpose:       Call this in any form to:
'               (i) highlight required fields, or
'               (ii) highlight the control that has focus.
'
'Usage:         To do both:
'                   =SetupForm([Form])
'               To do just the required fields, or just the focus, use:
'                   =SetupForm([Form], 1)
'                   =SetupForm([Form], 2)
'               Note: Do not substitute your form name for [Form] above.
'
'Author:        Allen Browne    allen@allenbrowne.com
'Version:       21 September 2008.
'Copyright:     None. You can use this in your database for any purpose.
'               We request that you acknowledge the source in your code.
'Documentation: http://allenbrowne.com
'
'Notes:         1. Colors work in Form view and Continuous Form (highlights entire column),
'                   but only the star shows Datasheet view.
'               2. Works on text boxes, combos, and list boxes only.
'               3. Change the colors immediately below to suit (RGB values.)
'
'The RGB value to use as a control's Back Color when it has focus.
Private Const mlngcFocusBackColor = &HB0FFFF
'The RGB value to use as Back Color if a control is bound to a required field.
Private Const mlngcRequiredBackColor = &HD0D0FF

'These constants are for assigning/reading the Tag property.
Private Const mstrcTagBackColor = "UsualBackColor"
Private Const mstrcTagSeparator = ";"
Private Const mstrcTagAssignmnent = "="

Public Function SetupForm(frm As Form, Optional iSetupWhat As Integer = &H7FFF)
    'Purpose:   Set up a form to do both (highlight required, and control with focus.)
    'Argument:  A reference to the form to setup.
    'Usage:     Set form's On Load property to: =SetupForm([Form])
    'Note:      The Required must be handled first (to save the right restore value.)
    Const iSetupRequired = 1
    Const iSetupFocusColor = 2
    
    If (iSetupWhat And iSetupRequired) Then Call SetupRequiredFields(frm)
    If (iSetupWhat And iSetupFocusColor) Then Call SetupFocusColor(frm)
End Function

Public Function SetupFocusColor(frm As Form)
On Error GoTo Err_Handler
    'Purpose:   Set properties for all text boxes, combos, and list boxes, _
                    so they are highlighted when they receive focus.
    'Argument:  A reference to the form to setup.
    'Usage:     Set any form's On Load property to:  =SetupFocusColor([Form])
    'Note:      Skips any control that already has something in OnGotFocus or OnLostFocus.
    'Return:    True on success
    Dim ctl As Access.Control   'Each control on the form.
    
    For Each ctl In frm.Controls
        With ctl
            Select Case .ControlType
            Case acTextBox, acComboBox, acListBox
                If (.OnGotFocus = vbNullString) And (.OnLostFocus = vbNullString) Then
                    .OnGotFocus = "=Hilight([" & .Name & "], True)"
                    .OnLostFocus = "=Hilight([" & .Name & "], False)"
                    .Tag = .Tag & IIf(.Tag <> vbNullString, mstrcTagSeparator, Null) & _
                        mstrcTagBackColor & mstrcTagAssignmnent & .BackColor
                End If
            End Select
        End With
    Next
    SetupFocusColor = True
    
Exit_Handler:
    Set ctl = Nothing
    Exit Function

Err_Handler:
    MsgBox "Error " & Err.Number & ": " & Err.Description, vbExclamation, "SetupFocusColor()"
    Resume Exit_Handler
End Function

Public Function SetupRequiredFields(frm As Form)
On Error GoTo Err_Handler
    'Purpose:   Set properties for all text boxes, combos, and list boxes, _
                    to highlight those bound to a required field.
    'Argument:  A reference to the form to setup.
    'Usage:     Set any form's On Load property to:  =SetupRequired([Form])
    'Return:    True on success
    Dim rs As DAO.Recordset     'Recordset of the form.
    Dim ctl As Access.Control   'Each control on the form.
    Dim strField As String      'Name of the field a control is bound to.
    
    Set rs = frm.Recordset
    For Each ctl In frm.Controls
        Select Case ctl.ControlType
        Case acTextBox, acComboBox, acListBox
            'Ignore unbound, or bound to an expression.
            strField = ctl.ControlSource
            If (strField <> vbNullString) And Not (strField Like "=*") Then
                With rs(strField)
                    If (.Required) Or (.ValidationRule Like "*Is Not Null*") Then
                        ctl.BackColor = mlngcRequiredBackColor
                        Call MarkAttachedLabel(ctl)
                    End If
                End With
            End If
        End Select
    Next
    SetupRequiredFields = True
    
Exit_Handler:
    Set ctl = Nothing
    Set rs = Nothing
    Exit Function

Err_Handler:
    MsgBox "Error " & Err.Number & ": " & Err.Description, vbExclamation, "SetupRequiredFields()"
    Resume Exit_Handler
End Function

Public Function Hilight(ctl As Access.Control, bOn As Boolean)
    'Purpose:   This code that gets called when focus moves into/out of a control.
    'Arguments: ctl = the control whose BackColor should be changed.
    '           bOn = flag: True if receiving focus, False if losing focus.
    ' Make label red when control has focus - E.P.Steel (03/10/17)
    Dim strBackColor As String
    
    If bOn Then
        'Assign the 'got focus' color.
        ctl.BackColor = mlngcFocusBackColor
        ctl.Controls(0).ForeColor = vbRed
    Else
        'Restore the color from the control's Tag property (white if not found.)
        strBackColor = ReadFromTag(ctl, mstrcTagBackColor)
        If IsNumeric(strBackColor) Then
            ctl.BackColor = Val(strBackColor)
        Else
            ctl.BackColor = vbWhite
        End If
        ctl.Controls(0).ForeColor = vbBlack

    End If
End Function

Private Function MarkAttachedLabel(ctl As Access.Control)
On Error GoTo Err_Handler
    'Purpose:   Bypass the error if a control has no attached label.
    
    With ctl.Controls(0)
        If Not .Caption Like "*[*]" Then
            .Caption = .Caption & "*"
            .FontBold = True
        End If
    End With

Exit_Handler:
    Exit Function

Err_Handler:
    Resume Exit_Handler
End Function

Private Function ReadFromTag(ctl As Control, strName As String) As String
    'Purpose:   Parse a value from the Tag property of a control.
    'Arguments: ctl = the control whoe Tag property you want to look in.
    '           strName = the name of the variable to search for.
    'Return:    The value of the property. ZLS if not found.
    'Example:   ReadFromTag([Text0], "test") will returns 99 if Text0.Tag is:
    '               test=99
    Dim varArray As Variant
    Dim strValue As String
    Dim i As Long
    
    If ctl.Tag <> vbNullString Then
        varArray = Split(ctl.Tag, mstrcTagSeparator)
        If IsArray(varArray) Then
            For i = LBound(varArray) To UBound(varArray)
                If varArray(i) Like strName & mstrcTagAssignmnent & "*" Then
                    ReadFromTag = Mid(varArray(i), Len(strName) + Len(mstrcTagAssignmnent) + 1&)
                End If
            Next
        End If
    End If
End Function
 

chrisjames25

Registered User.
Local time
Today, 13:00
Joined
Dec 1, 2014
Messages
401
Sorry forgot to attach exmaple.

ENter "abcd" into first txtbox, then "abcd" into second one. Tab back to first hit dlete and hear the beep then tab to second and do same.
 

Attachments

  • Example1.accdb
    820 KB · Views: 338

pbaldy

Wino Moderator
Staff member
Local time
Today, 05:00
Joined
Aug 30, 2003
Messages
36,124
I'm not hearing a beep. And yes, I turned off the music before testing. :p
 

pbaldy

Wino Moderator
Staff member
Local time
Today, 05:00
Joined
Aug 30, 2003
Messages
36,124
Hopefully somebody else will chime in (pun intended). Maybe it's a version thing. I'm on Win 7 Home/A2010.
 

chrisjames25

Registered User.
Local time
Today, 13:00
Joined
Dec 1, 2014
Messages
401
OK just checking that everytime you delete a record in a table you get a chime?
 

JHB

Have been here a while
Local time
Today, 14:00
Joined
Jun 17, 2012
Messages
7,732
There are 2 times I get a beep, but none of them if I delete a record.
1. time, when I add something in the first textbox and click the "Add Category" button so I can input something in the second textbox.
2. time, after inputting a text in the second textbox and press the tab lesser as 4 times, (and then press Delete), but that is because the focus moves to the 3 buttons first, so nothing unnormal in that. When I press the tab 4 times, the focus is back on the first textbox again, I do not hear a beep when I press Delete.
 

Users who are viewing this thread

Top Bottom