Simpelt VB problem

Tags:    visual-basic

User
Bruger #509 @ 13.04.02 16:52

Jeg har en textbox hvor i brugeren af databasen skal kunne skrive en vaerdi.
Textboksen indput har jeg givet en variabel vaerdi..

Dim husk As Singel
Dim textbox_BeforeUpdate As String
text.textbox = husk

Saa nu er brugerens indput gemt i variablen husk.
Ved at trykke paa en komando knap skal brugeren kunne springe til den Form
der svare til indputet i textboxen.

Her er kommando knappens funktion paa et click.
## DET ER HER MIT PROBLEM LIGGER ##
DoCmd.OpenForm (husk), acNormal, , , , acWindowNormal

Hvordan faar jeg knappen til at aabne en Form hvis navn svare til vaerdien
af min variabele husk vaerdi.





3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Jeg har en textbox hvor ...af min variabele husk vaerdi.


Det, du skal gøre, er at bygge et Array i din form. Dette array skal indeholde navnene på alle forme i databasen. For at få fat på dem, skal du bruge AllForms-samlingen i CurrentProject-objektet. Når formularen åbnes, loader du alle formnavnene ind i et dynamisk array.

Når brugeren siden skriver et tal 1, 2, 3, osv. i tekstboksen (den hedder Tekst0 i mit eksempel) og klikker på knappen (Kommandoknap3 i min kode), ja så finder hændelsesproceduren navnet på formen, der svarer til det tal, brugeren indtastede, og åbner den tilsvarende form.

For at gøre en lang historie kort, så skal du bruge følgende kode i din form:
<pre>Option Compare Database
Dim strFormNames() As String
'
' Finder navnene på ALLE forms i DB. Ikke KUN åbne forms.
'
Private Sub Form_Open(Cancel As Integer)

Dim intNumForms As Integer

Let intNumForms = CurrentProject.AllForms.Count() - 1
ReDim strFormNames(0 To intNumForms)

Dim x As Integer
For x = 0 To intNumForms
Let strFormNames(x) = CurrentProject.AllForms(x).Name
Next x

End Sub

Private Sub Kommandoknap3_Click()
On Error GoTo Err_Kommandoknap3_Click

Dim stDocName As String
Dim stLinkCriteria As String

Me.Tekst0.SetFocus
stDocName = strFormNames(Me.Tekst0.Text)
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Kommandoknap3_Click:
Exit Sub

Err_Kommandoknap3_Click:
MsgBox Err.Description
Resume Exit_Kommandoknap3_Click

End Sub</pre>

Jeg håber dette løser dit problem.

Software is here and now but rock and roll is forever.[Redigeret d. 29/08-02 14:29:59 af Herluf Hermansen]



User
Bruger #912 @ 13.04.02 20:31
Ikke at jeg er særlig dygtig (jeg er temmelig ny!), men hvorfor kan du ikke løse dit problem med IF THEN eller select case?

IF husk = "navn pådenførsteform" then
navnpåden førsteform.show

IF husk = "andenform" then
andenform.show

0sv.
håber det var det?!?





Jeg har en textbox hvor i brugeren af databasen skal kunne skrive en vaerdi.
Textboksen indput har jeg givet en variabel vaerdi..

Dim husk As Singel
Dim textbox_BeforeUpdate As String
text.textbox = husk

Saa nu er brugerens indput gemt i variablen husk.
Ved at trykke paa en komando knap skal brugeren kunne springe til den Form
der svare til indputet i textboxen.

Her er kommando knappens funktion paa et click.
## DET ER HER MIT PROBLEM LIGGER ##
DoCmd.OpenForm (husk), acNormal, , , , acWindowNormal

Hvordan faar jeg knappen til at aabne en Form hvis navn svare til vaerdien
af min variabele husk vaerdi.







Jeg har en textbox hvor i brugeren af databasen skal kunne skrive en vaerdi.
Textboksen indput har jeg givet en variabel vaerdi..

Dim husk As Singel
Dim textbox_BeforeUpdate As String
text.textbox = husk

Saa nu er brugerens indput gemt i variablen husk.
Ved at trykke paa en komando knap skal brugeren kunne springe til den Form
der svare til indputet i textboxen.

Her er kommando knappens funktion paa et click.
## DET ER HER MIT PROBLEM LIGGER ##
DoCmd.OpenForm (husk), acNormal, , , , acWindowNormal

Hvordan faar jeg knappen til at aabne en Form hvis navn svare til vaerdien
af min variabele husk vaerdi.


:)

Brug denne kodning:
Private Sub Knap()
Dim Frm As Form
For Each Frm In Forms
If Frm.Navn=husk Then
Frm.Show
End For
End If
Next
End Sub



t