miloudeemilie
Messages postés6Date d'inscriptionmardi 11 juillet 2006StatutMembreDernière intervention15 décembre 2006
-
13 déc. 2006 à 12:38
TMONOD
Messages postés256Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention 6 novembre 2009
-
13 déc. 2006 à 20:34
bonjour, voilà j'ai créé une interface avec un flexgrid
l'interface comporte le nom et le prénom d'une personne sélectionnée
le flexgrid comporte les colonnes suivantes :
colonne1 = date
colonne2=numéro du projet (colonne cachée)
colonne3=nom du projet dans une liste déroulante qui est gérée par une table access
colonne4=commentaires
colonne5=avancement(choix dans une liste déroulante)
j'arrive à renseigner le flexgrid. j'ai également créer un bouton ajouter une ligne qui fonctionne correctement mais j'ai un soucis avec mon bouton valider. je voudrais qu'il enregistrer toutes les données saisies dans le flexgrid dans une table access et qu'il ferme l'interface. mais il me bloque sur le code suivant :
Private Sub cmd_valider_Click()
'met à jour la base de données
Call SauvegardeProjetsProf
TMONOD
Messages postés256Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention 6 novembre 20091 13 déc. 2006 à 13:38
Il est tombé sur un nom non défini. Pas étonnant quand on voit que tu ne déclares pas explicitement tes variables (i, SQL...).
D'autre part on ne sait pas si tu as déclaré tes fonction LectureTexte() LectureComboliste etc...
Stocke les résultat de tes fonctions (pour la requete sql) dans des variables intermediaires ce qui te permettra d'en controler la validité avant d'executer n'importe quoi dans ta base :
ExecuteMiseAJour(datetemp,projettemp,commenttemp,avancementtemp,numselecttemp)
...
end sub
sub ExecuteMiseAJour(ladate as string, leprojet as string,lecomment as string,avancement as string,numselect as string)
dim SQL as string
on error goto bug
SQL = "UPDATE Tbl_historique_projets_sociaux_professionnels SET " & _
"date=" & ladate & _
",num_projets_sociaux_professionnels=" & leprojet & _
",commentaires=" & lecomment & _
",avancement=""" & avancement & _
" WHERE num=" & numselecttemp
Base.Execute (SQL)
goto fin
bug:
msgbox("La mise à jour s'est mal passée !")
fin:
miloudeemilie
Messages postés6Date d'inscriptionmardi 11 juillet 2006StatutMembreDernière intervention15 décembre 20061 13 déc. 2006 à 15:46
j'ai déclaré les fonctions LectureTexte ... dans un module
Public Function LectureTextDate(txt_date As Control) As Variant
If (txt_date = "__/__/____") Then
LectureTextDate = "Null"
Else
LectureTextDate = """" & txt_date & """"
End If
End Function
Public Function LectureTextHeure(txt_heure As String) As Variant
If (txt_heure = "__:__") Then
LectureTextHeure = "Null"
Else
LectureTextHeure = """" & txt_heure & """"
End If
End Function
Public Function LectureComboBox(cmb As Control) As Variant
'Renvoi le num de la colonne 0
If (cmb.ListIndex = -1) Then
LectureComboBox = "Null"
Else
LectureComboBox = cmb.Column(0, cmb.ListIndex)
End If
End Function
Public Function LectureComboBoxListe(cmb As Control) As Variant
'Renvoi le texte du combo
If (cmb.Text = "") Then
LectureComboBoxListe = "Null"
Else
LectureComboBoxListe = """" & cmb.Text & """"
End If
End Function
Public Function LectureTextBoxNumber(txt As Control) As Variant
If (txt.Text = "") Then
LectureTextBoxNumber = "Null"
Else
LectureTextBoxNumber = txt.Text
End If
End Function
Public Function LectureNombre(txt As String) As Variant
If (txt = "") Then
LectureNombre = "Null"
Else
LectureNombre = txt
End If
End Function
Public Function LectureTexte(txt As String) As Variant
If (txt = "") Then
LectureTexte = "Null"
Else
LectureTexte = """" & txt & """"
End If
TMONOD
Messages postés256Date d'inscriptionmardi 25 novembre 2003StatutMembreDernière intervention 6 novembre 20091 13 déc. 2006 à 20:34
Tout cela me paraît un peu compliqué pour pas grand chose.
En fait, je devine que t'est heurté avec la valeur null dans certains champs de ta base et comme tu as eu de méchantes erreurs lorsque tu as voulu les affecter à des variables string tu t'es dit que tu allais faire des fonction spécifiques qui renvoient des variants !