|
How can I display automatically the username of a user that login to a Visual basic 6.0 application on the form
|
|
|
|
|
NOTHING happens "automatically". You either write the code to do it or it doesn't happen.
Are you prompting the user for a username and password to login to the app? If so, you already have the username is a string somewhere, so pass that to a method that sets the text of a label somewhere, or whatever control you're going to use to show the username.
|
|
|
|
|
So how do i pass that to a method that sets the text (user name) of a label on a particular form. Kindly assist with the right code to use on the vb6 form
|
|
|
|
|
Ummm... you're asking about how to do the simplest things in VB.
You mean to tell me you seriously don't know how to pass a string to a Sub or Function?
Do you even have a label on your form for showing the username?
Do you even have some Sub for setting the text of that label?
|
|
|
|
|
Please I will like to know if this code written is okay. seems to be having error. The aim is to prevent user from making any changes on form after saving.
CUSTOMER RESERVATION BILLLING (cmdSave, Command2)
If cmdSave.Caption = "Save" Then
Adodc1.Recordset.AddNew
txt.SetFocus
'Disenablebuttons
cmdsave.Enabled = True
cmdAddNew.Caption = "Cancel"
cboClassofRoom.Locked = False
txtCustomer_Name.Locked = False
txtRoomNo.Locked = False
txtCustomer_Address.Locked = False
txtPhone_number.Locked = False
txtAmountPaid.Locked = False
txtCheckin.Locked = False
txtDuration.Locked = False
txtDate.Locked = False
txtReceptionist.Locked = False
Else
Adodc1.Recordset.CancelUpdate
cmdsave.Enabled = False
cmdAdd.Caption = "Add"
'enablebuttons
cboClassofRoom.Locked = True
txtCustomer_Name.Locked = True
txtRoomNo.Locked = True
txtCustomer_Address.Locked = True
txtPhone_number.Locked = True
txtAmountPaid.Locked = True
txtCheckin.Locked = True
txtDuration.Locked = True
txtDate.Locked = True
txtReceptionist.Locked = True
End IF
End Sub
|
|
|
|
|
Seriously? Did you even read your code?
cmdsave.Enabled = True ??????????
|
|
|
|
|
|
Please how can I disable a Save button after a user submits a form, the aim is to prevent user from modifying any changes after saving on the form in visual basic 6.0.
Same with Print button, after a user prints a form, how can i disable the form so the user cannot print that particular form on the same visual basic 6.0.
I will be so grateful for you response.
Damian
|
|
|
|
|
- Stop using VB6 - it has not been supported for over 10 years
- If you have to use VB6 you can disable a button by setting its enabled property to false
=========================================================
I'm an optoholic - my glass is always half full of vodka.
=========================================================
|
|
|
|
|
Thanks for the response. Meanwhile I am trying to upgrade to VB.net Pending when I wish to still ask based on your response.
How do I write the VB code to set its enabled property to false only after saving/printing a form. The aim is to prevent user from modifying or printing same form.
Thanks in advance
|
|
|
|
|
No, you disable the button BEFORE your code to save it or print it.
mySaveButton.Enabled = False
But, keep in mind that your code will not be able to stop a user from hitting the PrtScn button, pasting the screen shot into paint and printing it from there.
|
|
|
|
|
Assuming your buttons are called btnPrint and btnSave, in their click events add the line
btnPrint.enabled = False
or
btnSave.enabled = False
=========================================================
I'm an optoholic - my glass is always half full of vodka.
=========================================================
|
|
|
|
|
I am getting this exception for line 245:
For i As Integer = 0 To srno.Length - 1
Dim ins2 As String = "INSERT INTO purchase_bill_items VALUES('" & entry_no & "', '" & srno(i) & "', '" & item_name(i).ToString & "', '" & batch(i) & "', '" & exp(i) & "', '" & mrp(i) & "', '" & qty(i) & "', '" & unit(i) & "', '" & purchase_rate(i) & "', '" & discount(i) & "', '" & amount(i) & "')"
cmd.CommandText = ins2
cmd.ExecuteNonQuery()
Dim ins3 As String = "INSERT INTO item_stock VALUES('" & entry_no & "', '" & batch(i) & "', '" & item_name(i).ToString & "', '" & exp(i) & "', '" & qty(i) & "', '" & mrp(i) & "', '" & qty(i) * mrp(i) & "')"
cmd.CommandText = ins3
cmd.ExecuteNonQuery()
MsgBox(item_name(i))
Next
Help please!
|
|
|
|
|
One of the objects that you are concatenating has 'nothing' in it. Have you looked at
each object reference at index(i) to see what it contains? As a test you could concatenate
each object individually to see what object is causing the problem.
Dim ins2 as string = "INSERT...."
ins2 += entry_no
ins2 += "', '"
ins2 += srno(i)
...
|
|
|
|
|
|
Once you find which item is causing the problem, you can put in a check. I use a function such as NumNull(exp(i)) or StrNull(item_name(i) . Here are the functions:
Function NumNull(Number As Object) As Object
If Number IsNot DBNull.Value Then
NumNull = Number
Else
NumNull = 0
End If
End Function
Function StrNull(Str As Object) As Object
If Str IsNot DBNull.Value Then
StrNull = Str
Else
StrNull = ""
End If
End Function
|
|
|
|
|
Hi All.
I have a User form in Excell VBA. It have many control such as textbox, check, combobox.....
And I want to use tab to change from this control to another control in the form.
I have done
-set Tabstop of all the control to true
- Set tabindex for all control in the right order.
But I can't swich between control. Please help
|
|
|
|
|
|
Hello !
I have a project in vb.net 2017.
I want to change the project folder's name.
Currently the project has these folders :
c:\
|
Myapp (folder )
|
Myapp (folder )
MyProject.sln ( solution file )
I have changed both Myapp folders name to Myapp1 , but after that the solution is open empty.
What else should i change in order to have my project running again ?
Thank you !
|
|
|
|
|
Open the solution's .sln file and update the path there.
|
|
|
|
|
|
You need to "remove" the project with the renamed folder.
Then, add it BACK again using the "new location" (i.e. renamed folder).
In general, "remove" items before "mucking" with the solution's / projects' file system; then add things back in.
Beware of creating solutions that span multiple "high-level" folders; you won't know what is being referenced by what (i.e. projects being "shared" across solutions).
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
Well after several hours I seem to have resolve this problem although I am still
not confident in my understanding of the issue. Without getting into all of the hairy
details the basic problem is related to initializing the control with Visible = False
and the fact that the control does not have or get a Parent during initialization. I
do not know why this is an issue because I cannot see the underlying vb code. By waiting
and setting Visible = False during Load() seems to have fixed the problem.
I am working on a custom tooltip control and have a particular problem with my control stealing
focus from the form.
Below are my creation parameters that are what I've used in VS C++ to do the same thing.
These are meant to create a WS_EX_TOOLWINDOW which displays above controls and the Form.
Below that is the stack trace that shows the issue where WmSetFocus() is being called
through my call to CreateGraphics(). I don't know what I can do to prevent this call
unless there is a style I can return in CreateParams() to prevent the call.
Can someone help?
Note I have removed some of the stack trace detail to try to reduce size of this message.
I have left what I think is relevant. If you think you need the rest let me know and I will
post it all.
Protected Overrides ReadOnly Property CreateParams() As CreateParams
Get
Const WS_EX_TOPMOST As Integer = &H8
Const WS_EX_NOACTIVATE As Integer = &H8000000
Const WS_EX_TOOLWINDOW As Integer = &H80
Const WS_EX_CONTROLPARENT As Integer = &H10000
Const WS_POPUP As Integer = &H80000000
Const WS_CHILD As Integer = &H40000000
Const WS_VISIBLE As Integer = &H10000000
Const WS_DISABLED As Integer = &H8000000L
Dim cp As CreateParams = MyBase.CreateParams
Debug.WriteLine(String.Format("CreateParams1():EX({0:X}),WS({1:X})", cp.ExStyle, cp.Style))
' Set topmost and prevents activation.
cp.ExStyle = cp.ExStyle Or (WS_EX_NOACTIVATE Or WS_EX_TOOLWINDOW Or WS_EX_TOPMOST)
cp.ExStyle = cp.ExStyle And Not WS_EX_CONTROLPARENT
' WS_POPUP makes control display above other controls including form.
' MSDN says you cannot combine WS_CHILD and WS_POPUP
cp.Style = cp.Style Or (WS_POPUP Or WS_DISABLED)
cp.Style = cp.Style And Not (WS_CHILD Or WS_VISIBLE)
Debug.WriteLine(String.Format("CreateParams2():EX({0:X}),WS({1:X})", cp.ExStyle, cp.Style))
Return cp
End Get
End Property
Stack
MyControls.dll!MyControls.TooltipControl.got(Object sender = {MyControls.TooltipControl}, System.EventArgs action = {System.EventArgs}) Line 968 Basic
System.Windows.Forms.dll!System.Windows.Forms.Control.OnGotFocus(System.EventArgs e) + 0xb8 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WmSetFocus(ref System.Windows.Forms.Message m) + 0x143 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0x5cd bytes
System.Windows.Forms.dll!System.Windows.Forms.ContainerControl.WmSetFocus(ref System.Windows.Forms.Message m) + 0x19c bytes
????????? Problem SetFocus()
System.Windows.Forms.dll!System.Windows.Forms.UserControl.WmSetFocus(ref System.Windows.Forms.Message m) + 0xdf bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.UpdateChildZOrder(System.Windows.Forms.Control ctl) + 0x2cf bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WmCreate(ref System.Windows.Forms.Message m) + 0x7d bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0x4a6 bytes
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg = 0x00000001, System.IntPtr wparam, System.IntPtr lparam) + 0xad bytes
[Native to Managed Transition]
[Managed to Native Transition]
???????????? CreateParams
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.CreateHandle(System.Windows.Forms.CreateParams cp) + 0x3e7 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.CreateHandle() + 0x24a bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.Handle.get() + 0x65 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.CreateGraphicsInternal() + 0xa bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.CreateGraphics() + 0x99 bytes
MyControls.dll!MyControls.TooltipControl.MeasureControlInfoText(Boolean bAll = False) Line 1252 + 0xd bytes Basic
-- modified 30-Mar-18 20:15pm.
|
|
|
|
|
If the "custom control" is "stealing" focus at certain times, why don't you simply "reset" the focus instead of fighting a control you claim to have no "control" over?
I typically set focus (if I need to) after the ui is "ready for interaction"; which is generally at the end of the "loaded event" (or "activated" in special cases).
If a call to "something" causes focus to be "stolen", then "save" a reference to the control currently having focus, make the call, then re-focus.
Those are the only scenarios.
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
Hello Everyone!
I am developing a simple stock management software for my final year college project.
I am trying to fire following queries:
"UPDATE item_stock SET qnt = (qnt + '" & qty & "'), amount = (amount + '" & mrp * qty & "') WHERE batch = '" & batch & "'"
<pre>"UPDATE item_stock SET qnt = (qnt - '" & qty & "'), amount = (amount - '" & mrp * qty & "') WHERE batch = '" & batch & "'"
The Subtraction is working fine but I cannot see affect of the addition. Any help?
|
|
|
|