opa...gostaria que akguem me ajudasse na questão em como indicar a gravação de dados numa tabela. já tentei através de livros, pelo metodo OpenDataBase e OpenRecordset, escrevi os códigos e tentei estuda-los posteriormente para entender um pouco melhor a estrutura da linguagem.
Criei meus proprios forms , menus e até mesmo as tabelas. Tudo funcionando e carregando perfeito. Mas no momento em que eu tento inserir os dados e gravá-los na tal tabela o VB me da uma mensagem (ingles) que o banco de dados ............... .MDB que eu indico no APP.Path não existe ou não é válido.
Agora estou tentando através do Wizzard do VB e estou lendo bastante os códigos, mas ainda assim não consigo trabalhar nas tabelas.......gostaria de que alguém me falasse o código , no, no caso, o que carrega tabelas e tal. Se puderem colocar onde vai o nome do meu banco de dados etc...só pra mim conferir se está tudo certo...agradeço mesmo.
ainda sou novato no vb...faz uns meses que estou fuçando...mas já fiz uns programinhas básicos no access...
abaixo segue o código onde se localiza o form pra inserir os dados na tabela:
Private Sub Form_Load()
Dim bParmQry As Integer
Dim qdfTmp As QueryDef
On Error GoTo LoadErr
'To Do
'gsDatabase is a global string that needs
'to be set by the startup sub for the app
Data1.DatabaseName = gsDatabase
'gsRecordSource is a global string that needs
'to be set by the sub routine that loads this form
Data1.RecordSource = gsRecordsource
Data1.Connect = gsConnect
Data1.RecordsetType = 1 'dynaset
Data1.Options = 0
Data1.Refresh
If Len(Data1.RecordSource) > 50 Then
Me.Caption = "SQL Statement"
Else
Me.Caption = Data1.RecordSource
End If
Exit Sub
LoadErr:
MsgBox "Error:" & Err & " " & Err.Description
Unload Me
End Sub
Sub cmdClose_Click()
Unload Me
End Sub
Private Sub cmdFilter_Click()
On Error GoTo FilterErr
Dim recRecordset1 As Recordset, recRecordset2 As Recordset
Dim sFilterStr As String
If Data1.RecordsetType = vbRSTypeTable Then
Beep
MsgBox "You Cannot Filter a Table Recordset!", 48
Exit Sub
End If
Set recRecordset1 = Data1.Recordset 'copy the recordset
sFilterStr = InputBox("Enter Filter Expression:")
If Len(sFilterStr) = 0 Then Exit Sub
Screen.MousePointer = vbHourglass
recRecordset1.Filter = sFilterStr
Set recRecordset2 = recRecordset1.OpenRecordset(recRecordset1.Type) 'establish the filter
Set Data1.Recordset = recRecordset2 'assign back to original recordset object
Screen.MousePointer = vbDefault
Exit Sub
FilterErr:
Screen.MousePointer = vbDefault
MsgBox "Error:" & Err & " " & Err.Description
Exit Sub
End Sub
Private Sub cmdRefresh_Click()
On Error GoTo RefErr
Data1.Recordset.Requery
Exit Sub
RefErr:
MsgBox "Error:" & Err & " " & Err.Description
Exit Sub
End Sub
Private Sub cmdSort_Click()
On Error GoTo SortErr
Dim recRecordset1 As Recordset, recRecordset2 As Recordset
Dim SortStr As String
If Data1.RecordsetType = vbRSTypeTable Then
Beep
MsgBox "You Cannot Sort a Table Recordset!", 48
Exit Sub
End If
Set recRecordset1 = Data1.Recordset 'copy the recordset
If Len(msSortCol) = 0 Then
SortStr = InputBox("Enter Sort Column:")
If Len(SortStr) = 0 Then Exit Sub
Else
SortStr = msSortCol
End If
Screen.MousePointer = vbHourglass
recRecordset1.Sort = SortStr
'establish the Sort
Set recRecordset2 = recRecordset1.OpenRecordset(recRecordset1.Type)
Pergunta
Guest - Gabriel -
opa...gostaria que akguem me ajudasse na questão em como indicar a gravação de dados numa tabela. já tentei através de livros, pelo metodo OpenDataBase e OpenRecordset, escrevi os códigos e tentei estuda-los posteriormente para entender um pouco melhor a estrutura da linguagem.
Criei meus proprios forms , menus e até mesmo as tabelas. Tudo funcionando e carregando perfeito. Mas no momento em que eu tento inserir os dados e gravá-los na tal tabela o VB me da uma mensagem (ingles) que o banco de dados ............... .MDB que eu indico no APP.Path não existe ou não é válido.
Agora estou tentando através do Wizzard do VB e estou lendo bastante os códigos, mas ainda assim não consigo trabalhar nas tabelas.......gostaria de que alguém me falasse o código , no, no caso, o que carrega tabelas e tal. Se puderem colocar onde vai o nome do meu banco de dados etc...só pra mim conferir se está tudo certo...agradeço mesmo.
ainda sou novato no vb...faz uns meses que estou fuçando...mas já fiz uns programinhas básicos no access...
abaixo segue o código onde se localiza o form pra inserir os dados na tabela:
Private Sub Form_Load()
Dim bParmQry As Integer
Dim qdfTmp As QueryDef
On Error GoTo LoadErr
'To Do
'gsDatabase is a global string that needs
'to be set by the startup sub for the app
Data1.DatabaseName = gsDatabase
'gsRecordSource is a global string that needs
'to be set by the sub routine that loads this form
Data1.RecordSource = gsRecordsource
Data1.Connect = gsConnect
Data1.RecordsetType = 1 'dynaset
Data1.Options = 0
Data1.Refresh
If Len(Data1.RecordSource) > 50 Then
Me.Caption = "SQL Statement"
Else
Me.Caption = Data1.RecordSource
End If
Exit Sub
LoadErr:
MsgBox "Error:" & Err & " " & Err.Description
Unload Me
End Sub
Sub cmdClose_Click()
Unload Me
End Sub
Private Sub cmdFilter_Click()
On Error GoTo FilterErr
Dim recRecordset1 As Recordset, recRecordset2 As Recordset
Dim sFilterStr As String
If Data1.RecordsetType = vbRSTypeTable Then
Beep
MsgBox "You Cannot Filter a Table Recordset!", 48
Exit Sub
End If
Set recRecordset1 = Data1.Recordset 'copy the recordset
sFilterStr = InputBox("Enter Filter Expression:")
If Len(sFilterStr) = 0 Then Exit Sub
Screen.MousePointer = vbHourglass
recRecordset1.Filter = sFilterStr
Set recRecordset2 = recRecordset1.OpenRecordset(recRecordset1.Type) 'establish the filter
Set Data1.Recordset = recRecordset2 'assign back to original recordset object
Screen.MousePointer = vbDefault
Exit Sub
FilterErr:
Screen.MousePointer = vbDefault
MsgBox "Error:" & Err & " " & Err.Description
Exit Sub
End Sub
Private Sub cmdRefresh_Click()
On Error GoTo RefErr
Data1.Recordset.Requery
Exit Sub
RefErr:
MsgBox "Error:" & Err & " " & Err.Description
Exit Sub
End Sub
Private Sub cmdSort_Click()
On Error GoTo SortErr
Dim recRecordset1 As Recordset, recRecordset2 As Recordset
Dim SortStr As String
If Data1.RecordsetType = vbRSTypeTable Then
Beep
MsgBox "You Cannot Sort a Table Recordset!", 48
Exit Sub
End If
Set recRecordset1 = Data1.Recordset 'copy the recordset
If Len(msSortCol) = 0 Then
SortStr = InputBox("Enter Sort Column:")
If Len(SortStr) = 0 Then Exit Sub
Else
SortStr = msSortCol
End If
Screen.MousePointer = vbHourglass
recRecordset1.Sort = SortStr
'establish the Sort
Set recRecordset2 = recRecordset1.OpenRecordset(recRecordset1.Type)
Set Data1.Recordset = recRecordset2
Screen.MousePointer = vbDefault
Exit Sub
SortErr:
Screen.MousePointer = vbDefault
MsgBox "Error:" & Err & " " & Err.Description
Exit Sub
End Sub
Private Sub Form_Resize()
On Error Resume Next
If Me.WindowState <> 1 Then
grdDataGrid.Height = Me.Height - (425 + picButtons.Height)
End If
End Sub
Private Sub grdDataGrid_BeforeDelete(Cancel As Integer)
If MsgBox("Delete Current Row?", vbYesNo + vbQuestion) <> vbYes Then
Cancel = True
End If
End Sub
Private Sub grdDataGrid_BeforeUpdate(Cancel As Integer)
If MsgBox("Commit changes?", vbYesNo + vbQuestion) <> vbYes Then
Cancel = True
End If
End Sub
Private Sub grdDataGrid_HeadClick(ByVal ColIndex As Integer)
'let's sort on this column
If Data1.RecordsetType = vbRSTypeTable Then Exit Sub
'check for the use of the ctrl key for descending sort
If mbCtrlKey Then
msSortCol = "[" & Data1.Recordset(ColIndex).Name & "] desc"
mbCtrlKey = 0 'reset it
Else
End If
cmdSort_Click
msSortCol = vbNullString 'reset it
End Sub
Private Sub grdDataGrid_MouseUp(Button As Integer, Shift As Integer, x As Single, Y As Single)
mbCtrlKey = Shift
End Sub
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.