QUERO COLOCAR MEU DATA GRID EM ORDEM ALFABETICA
tem como colocar o data grid e a textbox relacionado ao banco com o Data field em ordem alfabetica
'CLASSIFICAR O DBGRID EM ORDEM PELA COLUNA
[c]Private Sub DBGrid1_HeadClick(ByVal ColIndex As Integer)
Dim St As Boolean
If St = True Then
DBGrid1.HoldFields
Data1.RecordSource = " Select * from cliente Order By " & DBGrid1.Columns(ColIndex).DataField
Data1.Refresh
DBGrid1.ReBind
Else
DBGrid1.HoldFields
Data1.RecordSource = " Select * from cliente Order By " & DBGrid1.Columns(ColIndex).DataField & " ASC "
Data1.Refresh
DBGrid1.ReBind
End If
St = Not St
End Sub
'OBS. VERIFIQUE NOME DO SEU DATA, E O DBGRID. PRONTO
'MARCAR UM LINHA POR INTEIRO
'NO EVENTO
Private Sub DBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
DBGrid1.SelBookmarks.Add DBGrid1.Bookmark
END SUB
'OBS. VERIFIQUE NOME DO SEU DATA, E O DBGRID. PRONTO
'''''VERIFICAR SE PODE SER FEITO ALTERAÇÕES EM SEUS CAMPOS DO DBGRID
[c]Private Sub DBGrid1_BeforeColUpdate(ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)
On Error GoTo Erro
'SE VC TENTAR ALTERAR AS COLUNAS DE 0 A 2 ENTÃO NÃO PERMITE.
If ColIndex >= 0 And ColIndex <= 2 Then
Cancel = True
MsgBox "Não pode ser alterado o conteudo desta célula.", vbCritical, "PROGma"
Exit Sub
End If
If ColIndex = 5 Then
If Not IsNumeric(DBGrid1) Then
MsgBox "Informe somente valores numéricos", vbCritical
Cancel = True
Exit Sub
End If
DBGrid1.Columns(6) = Format(CCur(DBGrid1.Columns(5)) * CCur(DBGrid1.Columns(1)), "##,##0.00")
End If
If ColIndex = 6 Then
Cancel = True
MsgBox "Não pode ser alterado o conteudo desta célula.", vbCritical, "PROGma"
Exit Sub
End If
Exit Sub
Erro:
MsgBox "Erro no sistema: " & Err.Number & " - " & Err.Description, vbCritical, "PROGma": Exit Sub
End Sub
ve se te ajuda esse fonte ai em cima é somudarpro seu recordset e seu data grid
[/c]
Dim ordem
ordem = "(" & "Select * from Tabela order by campo asc" & ")"
Adodc1.RecordSource = (ordem)
Adodc1.Refresh
se estiver usando o controle DATA troque o nome com o do ADODC se estiver via código a mesma coisa, coloque o rs_recorset no local do ADODC
Se estiver usando ADODC mesmo, tem um jeito mais simples ainda
Adodc1.Recordset.Sort = "campo"
ordem = "(" & "Select * from Tabela order by campo asc" & ")"
Adodc1.RecordSource = (ordem)
Adodc1.Refresh
se estiver usando o controle DATA troque o nome com o do ADODC se estiver via código a mesma coisa, coloque o rs_recorset no local do ADODC
Se estiver usando ADODC mesmo, tem um jeito mais simples ainda
Adodc1.Recordset.Sort = "campo"
no codigo que eu dei ao usuario selecionar uma coluna ele ja ordena sizinhu pela coluna selecionada.
Tópico encerrado , respostas não são mais permitidas