Comment formater une date dans une Datagrid. Merci

Signaler
Messages postés
8
Date d'inscription
jeudi 29 janvier 2004
Statut
Membre
Dernière intervention
20 février 2006
-
Messages postés
8
Date d'inscription
jeudi 29 janvier 2004
Statut
Membre
Dernière intervention
20 février 2006
-
Bonjour,
Je désire formater une date dans une datagrid.
Assez urgent svp

jvuillaume

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
Question courte, manque de détails.
Dis nous :
- ton langage : VBA, VB6, VB.Net
- comment tu alimentes ta DataGrid (à la main par requète et dépouillement ou avec un composant ADODC
Ne nous dis pas :
- que c'est urgent, ça ne sert à rien, ça aurait même tendance à énerver

Quand c'est urgent, commence par poser des questions précises, tu gagneras du temps et nous aussi

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Messages postés
8
Date d'inscription
jeudi 29 janvier 2004
Statut
Membre
Dernière intervention
20 février 2006

J'utilise vb6
Ma datagrid viens de requête sql à partir de table access. ce qui veux dire que dans une même datagrid, je peux avoir différentes sources. Code si-dessous.
J'espère que cela sera suffisant.
La requête se fait automatiquement dans la sub mepsql

Option Explicit
'dans le tag du form mettre le nom EXACT de la table + un .'
Option Compare Text
Dim LocSqlSelectTout As String
Dim LocSqlSelect(11)
Dim LocsqlWhere As String
Dim LocSqlWhere1 As String
Dim LocsqlAnd1 As String
Dim LocsqlAnd2 As String
Dim locSqlFrom As String
Dim locSqlRetour As String
Private Sub ConnectAdo()
Dim Txt As String
Dim R1 As ADODB.Recordset
Dim AdoBase As ADODB.Connection
Dim sql As String
Txt = "dbq=" & BaseRol.Name & ";"
Txt = Txt & "defaultdir=" & App.Path & ";"
Txt = Txt & "Driver={Microsoft Access Driver (*.mdb)}"
'Txt = "DBQ=E:\StatEbp\EBP.MDB;DefaultDir=E:\StatEbp;Driver={Microsoft Access Driver (*.mdb)};DriverId=281;FIL=MS Access;FILEDSN=E:\StatEbp\Ebp.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"
Me.Ado1.ConnectionString = Txt
'SQL = "select * from detailbon"
'SQL = SQL & " where month(detailbon.[date])='3'"
'Me.Ado1.RecordSource = SQL
'Me.Ado1.Refresh
End Sub

Private Sub MepGrille()

Dim D As String
D = Format(Date, "dddd dd mmmm yyyy")
Dim C As Integer
For C = 0 To Me.Grille.Columns.Count - 1
Me.Grille.Col = C
Me.Grille.Row = 0
Select Case Me.Tag
Case "facture."
If Left(Me.Grille.Columns.Item(C).Caption, 4) = "date" Then
Me.Grille.Columns(C).Alignment = dbgRight
'mettre au format date ????????

End If
End Select
Next C
Me.Grille.Visible = True

End Sub

Private Sub Command1_Click() 'appelle la table Factures'
Call VideSelect
Me.Tag = "facture."
LocSqlSelect(0) = " *"
locSqlFrom = "from facture"
Call MepSql
End Sub

Private Sub Command2_Click() 'appelle la requete basée sur la table produits'
Call VideSelect
Me.Tag = "Produits."
Call SqlProduit

End Sub

Private Sub Command3_Click() 'appelle la requête basée sur la table detailbon'
Call VideSelect
Me.Tag = "detailbon."
LocSqlSelect(0) = " *"
locSqlFrom = "from detailbon"
Call MepSql
End Sub

Private Sub Form_Load()
Me.Grille.BackColor = Menu.BackColor
Me.WindowState = 2
Call ConnectAdo
Call Command2_Click
End Sub
Private Sub SqlProduit()
LocSqlSelect(0) = " produits.Marque,"
LocSqlSelect(1) = " produits.Référence,"
LocSqlSelect(2) = " produits.Pxeucatalogue as [Prix Catalogue],"
LocSqlSelect(3) = " produits.[pxeu/kg] as [Prix Kg],"
LocSqlSelect(4) = " produits.[pxeupaht] as [Prix d'achat HT],"
LocSqlSelect(5) = " PRODUITS.Tauxdecommissionpardéfaut as [Taux de commission]"
locSqlFrom = " from produits"
Call MepSql
End Sub
Private Sub MepSql()
Dim I As Integer
Me.Grille.Visible = False
locSqlRetour = ""
LocSqlSelectTout = "select "
For I = 0 To 9
LocSqlSelectTout = LocSqlSelectTout & LocSqlSelect(I)
Next I
LocsqlWhere = LocSqlWhere1
locSqlRetour = LocSqlSelectTout & locSqlFrom & LocsqlWhere
Me.essai = locSqlRetour
Me.Ado1.RecordSource = locSqlRetour
Me.Ado1.Refresh
Call MepGrille
End Sub

Private Sub grille_KeyDown(KeyCode As Integer, Shift As Integer)
Dim Nom As String
Dim C As Integer
Dim NomCol As String

If KeyCode = vbKeyF12 Then 'selectionne uniquement les données de la colonne cliquée'
Nom = Me.Grille.Text
NomCol = Me.Tag & Me.Grille.Columns.Item(Me.Grille.Col).Caption
LocSqlWhere1 = " where " & NomCol & "= '" & Nom & "'"'LocSqlWhere1 " where produits.marque '" & Nom & "'"
Call MepSql

End If
End Sub

Private Sub VideSelect()
Dim I As Integer
For I = 0 To 10
LocSqlSelect(I) = ""
Next I
locSqlFrom = ""

LocsqlWhere = ""

End Sub

jvuillaume
Messages postés
361
Date d'inscription
mercredi 21 mai 2003
Statut
Membre
Dernière intervention
12 novembre 2009
2
Salut,

Voici la syntaxe:
me.Grille.Columns(C).DataFormat.Format = "DD/MM//YYYY".
Si le format n'est pas correcte, essaie avec "JJ/MM/AAAA".

Problème anglais - français.

A+
Messages postés
8
Date d'inscription
jeudi 29 janvier 2004
Statut
Membre
Dernière intervention
20 février 2006

Merci à toi gaa179.
Tu m'enlèves une épine du pied car les infos sur datagrid sont assez rares.
Comme quoi, après plus de 30 ans de programmation (j'ai commencé sur apple2c)
ont peut encore coincer.
Soyons Humbles!

jvuillaume