questo é l'unico pezzo di codice che fa riferimento al textbox che voglio modificare dal form (si trova nel form frmMain):
codice:
' Put the selected information into the user form
Private Sub grdUsers_RowColChange(LastRow As Variant, ByVal LastCol As Integer)

    Dim curRowBook As Integer
    Dim user_id As Integer
    Dim gcol As MSDataGridLib.Column
    
    curRowBook = grdUsers.GetBookmark(0)
    Set gcol = grdUsers.Columns("user_id")
    user_id = gcol.CellValue(grdUsers.GetBookmark(0))
    fillUserForm user_id
    
End Sub

Private Sub fillUserForm(Id As Integer)
    
    Dim q As String
    Dim rs As ADODB.Recordset
    
    q = "SELECT * FROM [user] WHERE user_id = " & Id
    Set rs = db.exeQuery(q)
    
    If Not rs.EOF Then rs.MoveFirst
    
    txtUsername.Text = rs!user_name
    txtName.Text = rs!name
    txtFirstName.Text = rs!first_name
    txtPassword.Text = rs![password]
    txtPasswordCheck.Text = rs![password]
    modFunctions.SelectItemData cmbGroup, rs!Group
    modFunctions.SelectItemData cmbLang, rs!default_lang
    
    cmdSave.Caption = "Save changes"
    
End Sub
inoltre ho provato a fare un altro progetto con solo i comandi che volevo testare e infatti funziona tutto benissimo (come dicevi te). ma cosa mai puo essere???