Springen naar inhoud


Cancel-knop


  • Log in a.u.b. om te beantwoorden
Er zijn 7 reacties in dit onderwerp

#1 VB6Dummy

VB6Dummy

    VBIB Godfather

  • Leden
  • PipPipPipPipPipPipPipPip
  • 5388 berichten
    Laatst bezocht 26 dec 2014 17:43

Geplaatst op 04 mei 2011 - 07:16

code FRMLOGIN:

Private Sub cmdOK_Click()
'ToDo: create test for correct password
'check for correct password

If txtPassword.Text = (rsADO!Value) And txtUsername.Text = (rsUserADO!Value) Then
    OK = True
    'frmLogin.Hide
    Unload Me
Else
    MsgBox "Invalid Password, try again.", , "Login"
    txtPassword.SetFocus
    txtPassword.SelStart = 0
    txtPassword.SelLength = Len(txtPassword.Text)
    txtPassword.Text = ""
End If
End Sub

Private Sub cmdCancel_Click()
   'frmLogin.Hide
   'OK = False
   'Unload Me.WindowType = [1]
   'Object.WindowType[ = nType]
   '.WindowsType[1]
   Unload Me
End Sub

hier de code frmMAIN:

'Calibration
Private Sub mnuSettingsCalibration_Click()
frmLogin.Show vbModal, Me
If frmLogin.cmdCancel = False Then
    'MsgBox ("Cancel")
    frmMain.Show
    Dim m As New frmMain
    m.Show vbModal, Me
'Else
ElseIf frmLogin.cmdOK = True Then
    'MsgBox ("OK")
    'Dim g As New frmCalibration
    'g.Show vbModal, Me
    frmCalibration.Show
End If
    
End Sub

#2 VB6Dummy

VB6Dummy

    VBIB Godfather

  • Leden
  • PipPipPipPipPipPipPipPip
  • 5388 berichten
    Laatst bezocht 26 dec 2014 17:43

Geplaatst op 04 mei 2011 - 07:16

Cliff Ophalvens zei:

hmm met visual basic heb ik niet veel ervaring, wel met visual-studio.net

je zou een code moeten vinden die zegt dat die form volledig opnieuw zou moeten beginnen, want als je die cancel knop induwt, blijft dat eigenlijk constant zo totdat dat form gesloten is en weer opnieuw wordt geopent. daarmee die error...

snap je ? misschien weet iemand op het forum hier een code voor ?


hmm, werkt nog steeds niet  

ik heb het volgende gedaan zie hieronder:
'Calibration
Private Sub mnuSettingsCalibration_Click()
frmLogin.Show vbModal, Me
If frmLogin.cmdCancel = True Then
    Dim m As New frmMain
    m.Show vbModal, Me

ElseIf frmLogin.cmdOK = True Then    
    Dim g As New frmCalibration
    g.Show vbModal, Me
End If
    
End Sub

Nu, als ik op de knop Cancel klikt, dan blijft ie op de bestaande form, maar als ik op de knop OK klikt dan gaat ie niet naar de form 'Calibration'.

#3 VB6Dummy

VB6Dummy

    VBIB Godfather

  • Leden
  • PipPipPipPipPipPipPipPip
  • 5388 berichten
    Laatst bezocht 26 dec 2014 17:43

Geplaatst op 04 mei 2011 - 07:16

hmm met visual basic heb ik niet veel ervaring, wel met visual-studio.net

je zou een code moeten vinden die zegt dat die form volledig opnieuw zou moeten beginnen, want als je die cancel knop induwt, blijft dat eigenlijk constant zo totdat dat form gesloten is en weer opnieuw wordt geopent. daarmee die error...

snap je ? misschien weet iemand op het forum hier een code voor ?

#4 VB6Dummy

VB6Dummy

    VBIB Godfather

  • Leden
  • PipPipPipPipPipPipPipPip
  • 5388 berichten
    Laatst bezocht 26 dec 2014 17:43

Geplaatst op 04 mei 2011 - 07:16

Cliff Ophalvens zei:

sja dacht het wel, maar was het proberen waard he  

heb je misschien nog andere ideeen, dat het wel werkt?

#5 VB6Dummy

VB6Dummy

    VBIB Godfather

  • Leden
  • PipPipPipPipPipPipPipPip
  • 5388 berichten
    Laatst bezocht 26 dec 2014 17:43

Geplaatst op 04 mei 2011 - 07:15

sja dacht het wel, maar was het proberen waard he

#6 VB6Dummy

VB6Dummy

    VBIB Godfather

  • Leden
  • PipPipPipPipPipPipPipPip
  • 5388 berichten
    Laatst bezocht 26 dec 2014 17:43

Geplaatst op 04 mei 2011 - 07:15

Cliff Ophalvens zei:

hmm ik heb dit ook eens gehad maar dat was ins visual studio.net
maar misschien werkt het hier ook:

Private Sub cmdCancel_Click()
   Dim f As New frmMain
   f.Show vbModal, Me
   'frmLogin.Cls
   frmLogin.Hide
   frmLogin = Nothing
End Sub
ik hoop dat het werkt !




Hij werkt niet, hij geeft de volgende error:
'Compile error:

Function or interface marked as restricted, or the function uses an Automation
type not supported in Visual Basic'

#7 VB6Dummy

VB6Dummy

    VBIB Godfather

  • Leden
  • PipPipPipPipPipPipPipPip
  • 5388 berichten
    Laatst bezocht 26 dec 2014 17:43

Geplaatst op 04 mei 2011 - 07:15

hmm ik heb dit ook eens gehad maar dat was ins visual studio.net
maar misschien werkt het hier ook:

Private Sub cmdCancel_Click()
   Dim f As New frmMain
   f.Show vbModal, Me
   'frmLogin.Cls
   frmLogin.Hide
   frmLogin = Nothing
End Sub

ik hoop dat het werkt !

#8 VB6Dummy

VB6Dummy

    VBIB Godfather

  • Leden
  • PipPipPipPipPipPipPipPip
  • 5388 berichten
    Laatst bezocht 26 dec 2014 17:43

Geplaatst op 04 mei 2011 - 07:15

Hoi allemaal

Ik heb in mijn programma aantal forms zitten waarbij ingelogd moet worden,
het inlogscherm bestaat uit 2 knoppen, 'Ok' en 'Cancel', 2 tekstvakken.
Wanneer ik de 2e keer op 'Cancel' klikt, geeft VB de volgende foutmelding,

'Run-time error '400':
Form already displayes; can't show modally'

Weten jullie misschien hoe ik dit moet oplossen?



Hier zijn enkele forms waarbij je inglogd moet worden:
'Database - Baselosses - Codetable
Private Sub mnuDataBaselCodetable_Click()
frmLogin.Show vbModal, Me   <------- foutmelding
Dim f As New Codetable
f.Show vbModal, Me
End Sub

'Database - Baselosses - Frequencies
Private Sub mnuDataBaselFrequencies_Click()
frmLogin.Show vbModal, Me <------- foutmelding
Dim f As New Frequencies
f.Show vbModal, Me
End Sub

------------------------------------------------------------ ------------------------
Hier is de code van het inlogscherm:
Option Explicit

Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As Long

Dim cnnADO As New ADODB.Connection

Dim cmdADO As New ADODB.Command
Dim rsADO As New ADODB.Recordset

Dim cmdUserADO As New ADODB.Command
Dim rsUserADO As New ADODB.Recordset

Public OK As Boolean

Private Sub Form_Load()
Dim sBuffer As String
Dim lSize As Long

sBuffer = Space$(255)
lSize = Len(sBuffer)
Call GetUserName(sBuffer, lSize)
If lSize > 0 Then
    txtUserName.Text = Left$(sBuffer, lSize)
Else
    txtUserName.Text = vbNullString
End If

'Verbinding tot stand brengen / Connection to the database
cnnADO.Provider = "Microsoft.Jet.OLEDB.3.51"
cnnADO.ConnectionString = "D:My DocumentsChifaiBaselosses.mdb"
cnnADO.Open

'Opdracht samenstellen
cmdADO.ActiveConnection = cnnADO
cmdADO.CommandText = "SELECT [Value] FROM settings WHERE [Name] = 'Password' "

cmdUserADO.ActiveConnection = cnnADO
cmdUserADO.CommandText = "SELECT [Value] FROM settings WHERE [Name] = 'Username' "
        
'Recordset configureren en openen
rsADO.CursorLocation = adUseClient
rsADO.CursorType = adOpenDynamic
rsADO.LockType = adLockPessimistic
rsADO.Open cmdADO

rsUserADO.CursorLocation = adUseClient
rsUserADO.CursorType = adOpenDynamic
rsUserADO.LockType = adLockPessimistic
rsUserADO.Open cmdUserADO

txtUserName.Text = (rsUserADO!Value)

End Sub

Private Sub Form_Unload(Cancel As Integer)
cnnADO.Close
End Sub

Private Sub cmdOK_Click()
'ToDo: create test for correct password
'check for correct password


If txtPassword.Text = (rsADO!Value) Then
    OK = True
    frmLogin.Hide
Else
    MsgBox "Invalid Password, try again.", , "Login"
    txtPassword.SetFocus
    txtPassword.SelStart = 0
    txtPassword.SelLength = Len(txtPassword.Text)
End If
End Sub

Private Sub cmdCancel_Click()
   Dim f As New frmMain
   f.Show vbModal, Me
   'frmLogin.Cls
   frmLogin.Hide
End Sub

------------------------------------------------------------ ------------------------
'Form Exit:
'Exit-button
Private Sub cmdExit_Click(Index As Integer)
...

reply = MsgBox(rsADO!English, vbYesNo, "Exit")
If reply = vbYes Then
    frmLogin.Show vbModal, Me   <------- foutmelding
    End
End If

End Sub


Alvast Bedankt.




0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


Untitled 1

Met dank aan J├╝rgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)