Je suis confront=E9 =E0 un petit PB.
Je cherche =E0 modifier la taille d'un champ TXT d'une table=20
=E0 l'aide de la m=E9thode DAO, sachant que la methode SQL=20
avec "ALTER TABLE" ne fonctionne pas car l'instruction=20
SQL "MODIFY COLUMN" n'est pas accept=E9 par ACCESS.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michel
Bonjour Il me semble que c'est impossible La propriéte size est en lecture seule pour un champ existant HTH Michel "Fred87" a écrit dans le message de news: 027901c3acef$f7dd42e0$ Bonjour à tous,
Je suis confronté à un petit PB. Je cherche à modifier la taille d'un champ TXT d'une table à l'aide de la méthode DAO, sachant que la methode SQL avec "ALTER TABLE" ne fonctionne pas car l'instruction SQL "MODIFY COLUMN" n'est pas accepté par ACCESS.
Si quelqu'un peut m'aider , merci d'avance.
Fred
Bonjour
Il me semble que c'est impossible
La propriéte size est en lecture seule pour un champ existant
HTH
Michel
"Fred87" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 027901c3acef$f7dd42e0$a001280a@phx.gbl...
Bonjour à tous,
Je suis confronté à un petit PB.
Je cherche à modifier la taille d'un champ TXT d'une table
à l'aide de la méthode DAO, sachant que la methode SQL
avec "ALTER TABLE" ne fonctionne pas car l'instruction
SQL "MODIFY COLUMN" n'est pas accepté par ACCESS.
Bonjour Il me semble que c'est impossible La propriéte size est en lecture seule pour un champ existant HTH Michel "Fred87" a écrit dans le message de news: 027901c3acef$f7dd42e0$ Bonjour à tous,
Je suis confronté à un petit PB. Je cherche à modifier la taille d'un champ TXT d'une table à l'aide de la méthode DAO, sachant que la methode SQL avec "ALTER TABLE" ne fonctionne pas car l'instruction SQL "MODIFY COLUMN" n'est pas accepté par ACCESS.
Si quelqu'un peut m'aider , merci d'avance.
Fred
Jean Jacques
bonjour Fred
dans un module ou une fonction tu mets cette ligne
If ChangeFieldSize("tatable", "tonchamp", tataille) = False Then GoTo tagestionerreur
tu ajoute cette fonction
Function ChangeFieldSize(TableName As String, FieldName As String, Size As Long) As Boolean 'JJH adaptation d'une fonction de Douglas T. Ware Dim tdef As TableDef 'Table to modify Dim fldOld As Field 'Field to modify Dim fldNew As Field 'Destination field Dim Property As Property 'Field property Dim strSQL As String 'SQL string to move the data
'Temp error states Dim tError As Long Dim tErrorDescription As String
On Error GoTo Err_Handler
'Get the table definition Set tdef = db.TableDefs(TableName)
'Get the original field Set fldOld = tdef.Fields(FieldName)
'Create the new field Set fldNew = tdef.CreateField
'Copy all the old field's property's With fldOld On Error Resume Next For Each Property In .Properties fldNew.Properties(Property.Name) = Property.Value Next On Error GoTo Err_Handler End With
'Set the new values With fldNew .Size = Size .Name = "_" & .Name End With
'Append the field tdef.Fields.Append fldNew
' pour éviter le problème d'ordre des colonnes dans la feuille de données tdef.Fields.Refresh
'Delete the original field tdef.Fields.Delete FieldName
'Rename the new field fldNew.Name = FieldName ChangeFieldType = True
Err_Out: 'Clean up the object ref's On Error Resume Next Set fldOld = Nothing Set fldNew = Nothing Set tdef = Nothing
'Check for error and raise if found If tError <> 0 Then On Error GoTo 0 Err.Raise Number:=Err.Number, Description:=tErrorDescription End If Exit Function
Err_Handler: tError = Err.Number tErrorDescription = Err.Description ChangeFieldType = False Resume Err_Out End Function
et ça roule bonne journée
jjh
Bonjour à tous,
Je suis confronté à un petit PB. Je cherche à modifier la taille d'un champ TXT d'une table à l'aide de la méthode DAO, sachant que la methode SQL avec "ALTER TABLE" ne fonctionne pas car l'instruction SQL "MODIFY COLUMN" n'est pas accepté par ACCESS.
bonjour Fred
dans un module ou une fonction tu mets cette ligne
If ChangeFieldSize("tatable", "tonchamp", tataille) = False Then GoTo
tagestionerreur
tu ajoute cette fonction
Function ChangeFieldSize(TableName As String, FieldName As String, Size
As Long) As Boolean
'JJH adaptation d'une fonction de Douglas T. Ware
Dim tdef As TableDef 'Table to modify
Dim fldOld As Field 'Field to modify
Dim fldNew As Field 'Destination field
Dim Property As Property 'Field property
Dim strSQL As String 'SQL string to move the data
'Temp error states
Dim tError As Long
Dim tErrorDescription As String
On Error GoTo Err_Handler
'Get the table definition
Set tdef = db.TableDefs(TableName)
'Get the original field
Set fldOld = tdef.Fields(FieldName)
'Create the new field
Set fldNew = tdef.CreateField
'Copy all the old field's property's
With fldOld
On Error Resume Next
For Each Property In .Properties
fldNew.Properties(Property.Name) = Property.Value
Next
On Error GoTo Err_Handler
End With
'Set the new values
With fldNew
.Size = Size
.Name = "_" & .Name
End With
'Append the field
tdef.Fields.Append fldNew
' pour éviter le problème d'ordre des colonnes dans la feuille de
données
tdef.Fields.Refresh
'Delete the original field
tdef.Fields.Delete FieldName
'Rename the new field
fldNew.Name = FieldName
ChangeFieldType = True
Err_Out:
'Clean up the object ref's
On Error Resume Next
Set fldOld = Nothing
Set fldNew = Nothing
Set tdef = Nothing
'Check for error and raise if found
If tError <> 0 Then
On Error GoTo 0
Err.Raise Number:=Err.Number, Description:=tErrorDescription
End If
Exit Function
Err_Handler:
tError = Err.Number
tErrorDescription = Err.Description
ChangeFieldType = False
Resume Err_Out
End Function
et ça roule
bonne journée
jjh
Bonjour à tous,
Je suis confronté à un petit PB.
Je cherche à modifier la taille d'un champ TXT d'une table
à l'aide de la méthode DAO, sachant que la methode SQL
avec "ALTER TABLE" ne fonctionne pas car l'instruction
SQL "MODIFY COLUMN" n'est pas accepté par ACCESS.
dans un module ou une fonction tu mets cette ligne
If ChangeFieldSize("tatable", "tonchamp", tataille) = False Then GoTo tagestionerreur
tu ajoute cette fonction
Function ChangeFieldSize(TableName As String, FieldName As String, Size As Long) As Boolean 'JJH adaptation d'une fonction de Douglas T. Ware Dim tdef As TableDef 'Table to modify Dim fldOld As Field 'Field to modify Dim fldNew As Field 'Destination field Dim Property As Property 'Field property Dim strSQL As String 'SQL string to move the data
'Temp error states Dim tError As Long Dim tErrorDescription As String
On Error GoTo Err_Handler
'Get the table definition Set tdef = db.TableDefs(TableName)
'Get the original field Set fldOld = tdef.Fields(FieldName)
'Create the new field Set fldNew = tdef.CreateField
'Copy all the old field's property's With fldOld On Error Resume Next For Each Property In .Properties fldNew.Properties(Property.Name) = Property.Value Next On Error GoTo Err_Handler End With
'Set the new values With fldNew .Size = Size .Name = "_" & .Name End With
'Append the field tdef.Fields.Append fldNew
' pour éviter le problème d'ordre des colonnes dans la feuille de données tdef.Fields.Refresh
'Delete the original field tdef.Fields.Delete FieldName
'Rename the new field fldNew.Name = FieldName ChangeFieldType = True
Err_Out: 'Clean up the object ref's On Error Resume Next Set fldOld = Nothing Set fldNew = Nothing Set tdef = Nothing
'Check for error and raise if found If tError <> 0 Then On Error GoTo 0 Err.Raise Number:=Err.Number, Description:=tErrorDescription End If Exit Function
Err_Handler: tError = Err.Number tErrorDescription = Err.Description ChangeFieldType = False Resume Err_Out End Function
et ça roule bonne journée
jjh
Bonjour à tous,
Je suis confronté à un petit PB. Je cherche à modifier la taille d'un champ TXT d'une table à l'aide de la méthode DAO, sachant que la methode SQL avec "ALTER TABLE" ne fonctionne pas car l'instruction SQL "MODIFY COLUMN" n'est pas accepté par ACCESS.
Jean Jacques
oups!!!
lamentable erreur de ma part
Function ChangeFieldSize(TableName As String, FieldName As String, Size As Long) As Boolean
'Rename the new field fldNew.Name = FieldName ChangeFieldType = True ICI C'EST ChangeFieldSize
Err_Handler: tError = Err.Number tErrorDescription = Err.Description ChangeFieldType = False ICI AUSSI C'EST ChangeFieldSize Resume Err_Out End Function
jjh
oups!!!
lamentable erreur de ma part
Function ChangeFieldSize(TableName As String, FieldName As String, Size
As Long) As Boolean
'Rename the new field
fldNew.Name = FieldName
ChangeFieldType = True ICI C'EST ChangeFieldSize
Err_Handler:
tError = Err.Number
tErrorDescription = Err.Description
ChangeFieldType = False ICI AUSSI C'EST ChangeFieldSize
Resume Err_Out
End Function
Function ChangeFieldSize(TableName As String, FieldName As String, Size As Long) As Boolean
'Rename the new field fldNew.Name = FieldName ChangeFieldType = True ICI C'EST ChangeFieldSize
Err_Handler: tError = Err.Number tErrorDescription = Err.Description ChangeFieldType = False ICI AUSSI C'EST ChangeFieldSize Resume Err_Out End Function
jjh
Merci jean Jacques
En fait j'étais en train d'effectuer la même manipulation (Copier les données aprés création d'un nouveau champ etc etc..) mais je bloquais sur le renommage du champ.
Merci beaucoup de ton aide..
A charge de revanche
Trés cordialement
Fred
Merci jean Jacques
En fait j'étais en train d'effectuer la même manipulation
(Copier les données aprés création d'un nouveau champ etc
etc..) mais je bloquais sur le renommage du champ.
En fait j'étais en train d'effectuer la même manipulation (Copier les données aprés création d'un nouveau champ etc etc..) mais je bloquais sur le renommage du champ.