sbbois
Messages postés13Date d'inscriptionlundi 24 janvier 2005StatutMembreDernière intervention 1 décembre 2005
-
23 mai 2005 à 13:48
cs_pirzz
Messages postés15Date d'inscriptiondimanche 2 mars 2003StatutMembreDernière intervention14 juillet 2006
-
23 mai 2005 à 22:32
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_pirzz
Messages postés15Date d'inscriptiondimanche 2 mars 2003StatutMembreDernière intervention14 juillet 2006 23 mai 2005 à 22:32
Tient, j'avais pas analysé ce que tu m'avais donné comme modif.
Je viens de regarder: effectivement avec une selection multiple ta modif s'avère particulièrement interressante.
Merci
cs_pirzz
Messages postés15Date d'inscriptiondimanche 2 mars 2003StatutMembreDernière intervention14 juillet 2006 23 mai 2005 à 18:28
Bien vu.
En fait j'ai voulu ajouter les [] uniquement s'il y avait un espace dans le champs (sinon plantage).
Pourquoi pas les ajouter systématiquement même sur le contrôle Liste_Table ....
Du coup ca me permet aussi de supprimer la fonction cherche_caractere, mais tu comprendras bien que cette fonction était un peu pour essayer des passages d'arguements.
A ++
sbbois
Messages postés13Date d'inscriptionlundi 24 janvier 2005StatutMembreDernière intervention 1 décembre 2005 23 mai 2005 à 13:48
Pas mal pour un début, je me suis permis de le modifier un petit peu.
En effet, j'ai change le controle liste_champs en autorisant la selection multiple ainsi que le code qui va avec :
Private Sub Liste_Champs_Click()
On Error GoTo DesErreurs
Dim I As Integer
Dim i_Champs As Integer
Dim champs As String
champs = ""
i_Champs = 0
'If Cherche_Caractere(Liste_Champs.Text, " ") Then
' If Cherche_Caractere(Liste_Tables.Text, " ") Then
' sql_Txt.Text = "SELECT [" & Liste_Champs.Text & "] FROM [" & Liste_Tables.Text & "]"
' Exit Sub
' End If
' sql_Txt.Text = "SELECT [" & Liste_Champs.Text & "] FROM " & Liste_Tables.Text
'Else
' sql_Txt.Text = Replace(sql_Txt.Text, "*", Liste_Champs.Text)
'End If
'Exit Sub
For I = 0 To Liste_Champs.ListCount - 1
If Liste_Champs.Selected(I) = True Then
i_Champs = i_Champs + 1
If i_Champs = 1 Then
champs = "[" & Liste_Champs.List(I) & "]"
Else
champs = champs & ", " & "[" & Liste_Champs.List(I) & "]"
End If
End If
If i_Champs >= Liste_Champs.SelCount Then
sql_Txt.Text = "SELECT " & champs & " FROM [" & Liste_Tables.Text & "]"
Exit Sub
End If
Next I
23 mai 2005 à 22:32
Je viens de regarder: effectivement avec une selection multiple ta modif s'avère particulièrement interressante.
Merci
23 mai 2005 à 18:28
En fait j'ai voulu ajouter les [] uniquement s'il y avait un espace dans le champs (sinon plantage).
Pourquoi pas les ajouter systématiquement même sur le contrôle Liste_Table ....
Du coup ca me permet aussi de supprimer la fonction cherche_caractere, mais tu comprendras bien que cette fonction était un peu pour essayer des passages d'arguements.
A ++
23 mai 2005 à 13:48
En effet, j'ai change le controle liste_champs en autorisant la selection multiple ainsi que le code qui va avec :
Private Sub Liste_Champs_Click()
On Error GoTo DesErreurs
Dim I As Integer
Dim i_Champs As Integer
Dim champs As String
champs = ""
i_Champs = 0
'If Cherche_Caractere(Liste_Champs.Text, " ") Then
' If Cherche_Caractere(Liste_Tables.Text, " ") Then
' sql_Txt.Text = "SELECT [" & Liste_Champs.Text & "] FROM [" & Liste_Tables.Text & "]"
' Exit Sub
' End If
' sql_Txt.Text = "SELECT [" & Liste_Champs.Text & "] FROM " & Liste_Tables.Text
'Else
' sql_Txt.Text = Replace(sql_Txt.Text, "*", Liste_Champs.Text)
'End If
'Exit Sub
For I = 0 To Liste_Champs.ListCount - 1
If Liste_Champs.Selected(I) = True Then
i_Champs = i_Champs + 1
If i_Champs = 1 Then
champs = "[" & Liste_Champs.List(I) & "]"
Else
champs = champs & ", " & "[" & Liste_Champs.List(I) & "]"
End If
End If
If i_Champs >= Liste_Champs.SelCount Then
sql_Txt.Text = "SELECT " & champs & " FROM [" & Liste_Tables.Text & "]"
Exit Sub
End If
Next I
sql_Txt.Text = "SELECT " & champs & " FROM [" & Liste_Tables.Text & "]"
DesErreurs:
MsgBox "ERREUR ! " & vbCrLf & "Numero d'erreur : " & Err.Number & vbCr & "Description : " & Err.Description & vbCrLf _
& "Module Liste_Champs_Click", vbCritical, App.ProductName
End Sub
ce qui au final te permet d'avoir une requete d'une style :
SELECT [Champ1], [Champ2],... from [Table]
Voila
A+