QUERO COLOCAR MEU DATA GRID EM ORDEM ALFABETICA

USUARIO.EXCLUIDOS 22/08/2007 18:38:27
#232138
tem como colocar o data grid e a textbox relacionado ao banco com o Data field em ordem alfabetica
ICEMAN 22/08/2007 20:34:07
#232146
Resposta escolhida
'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]
USUARIO.EXCLUIDOS 22/08/2007 21:36:42
#232150
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"
ICEMAN 22/08/2007 21:43:48
#232151
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