Bonjour,
BD : Oracle
Je fais un select via un recordset de type DAO. Quand je l'execute j'ai l'erreur 3146 avec en précision [Oracle][ODBC]Restricted data type attribute violation
J'ai recherché la colonne impacté est de type number(1,0) et est nullable.
voici le code que j'éxécute
La même requête dans un queryTable fonctionne parfaitement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Set wrk = CreateWorkspace("NewODBCWorkspace", "admin", "", dbUseODBC) Set connectionFrom= wrk.OpenConnection("BASE", dbDriverComplete, , ConnFrom) [...] Requete = "select monchamp from matable" [...] Set Qdf1 = connectionFrom.CreateQueryDef(1, Requete) Qdf1.Execute Set rstResultat = Qdf1.OpenRecordset()
Auriez vous une idée du pourquoi? Et sinon, peut on utiliser plusieurs requetes via un querry table pour modifier les variables de session par exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 With sh.QueryTables.Add(Connection:=Array(ConnFrom), Destination:=sh.Range(FirstColumnFrom)) .CommandText = Requete .Name = "xxxx" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = True .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .Refresh BackgroundQuery:=False End With
Merci beaucoup
Partager