how can i make a history in a text box

Posted on 2004-08-20
Last Modified: 2010-05-02
how can i make a history ina  text box so when you use the uparrow or down arrow it remebered what youve typed before??

much like the old doskey fuction?

and it there a way to list whats in the history too???

thanks alot
Question by:Johnny
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
LVL 18

Expert Comment

ID: 11856838
You would be better off using a combobox for this instead of a textbox.

Author Comment

ID: 11856904
ok JR2003 ill go for that

i have a send button and a text box on the form now

heres what i want to do

i want it to have a history of items(yep a combo box would do that) and if a user hits enter it will fire the send button

id also like to have it when an item is picked it does not fire unless the send button is pressed(so they can change stuff)

how do i go about doing that
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 11857197
Here is some basic code that does what you requested:

Option Explicit

Private Sub Combo1_KeyPress(KeyAscii As Integer)
    Dim i As Integer
    Dim value As String
    If KeyAscii = 13 Then
        KeyAscii = 0
        value = Combo1.Text
        If value <> "" Then
            ' do something with value
            Debug.Print value

            ' remove item from middle of list if it exists
            For i = 1 To Combo1.ListCount - 1
                If Combo1.List(i) = value Then
                    Combo1.RemoveItem (i)
                    Exit For
                End If
            Next i
            ' add item to top of the list
            Combo1.AddItem value, 0
            ' reset the combobox
            Combo1.Text = ""
        End If
    End If
End Sub

Private Sub Command1_Click()
    Combo1_KeyPress (13) ' simulate enter being pressed on combobox
End Sub
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 18

Accepted Solution

JR2003 earned 500 total points
ID: 11857716
To run this code:
1) start a new project
2) Add a button, Command1 which you will use for sending
3) Add a Combobox for entering text

Option Explicit

Private Sub Form_Load()
    With Command1
        .Caption = "Send..."
    End With
    With Combo1
        .Text = ""
    End With

End Sub

Private Sub Command1_Click()

    'Send text from Combo1 here
    Dim sCommand As String
    Dim sPrevCommand As String
    With Combo1
        sCommand = Trim(.Text)
        If .ListCount > 0 Then
            sPrevCommand = .List(0)
        End If
        If (sPrevCommand <> sCommand) And sCommand <> "" Then
            .AddItem .Text, 0
            .ListIndex = .NewIndex
        End If
        Debug.Print "Sending " & sCommand
    End With
End Sub

Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
    With Combo1
        If KeyCode = vbKeyReturn Then
        ElseIf KeyCode = vbKeyEscape Then
            .Text = ""
        End If
    End With
End Sub


Author Comment

ID: 11858425
please bare with me i wont be able to get to tghis tight away will try to check on it sunday aug,22

Author Comment

ID: 11866720
please give me a few days for this guys im having personel prroblems right now but i will get back to it thanks for the replys one looks as if it will work..

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question