Bonjour,
j'ai parcouru la FAQ, le Web et j'ai cru un moment avoir trouvé la solution mais voilà ... je tourne en rond.
Contexte :
Accèder à Oracle version 9 et 10 depuis Access via ODBC et opérer des select, update et delete.
Environnement :
J'utilise Access 2000 et l'instantclient ODBC d'oracle, cela permet normalement de corriger les problèmes de NLS_LANG vue qu'il est censé prendre en compte le NLS de la base oracle.
Les problèmes :
- J'ai toujours des #supprimé, lié je le crains à l'utilisation de caractere hors plage en clef primaire Kb MicroMou
- Je n'arrive pas à sélectionner les chaines de charactère depuis Access contenant des ',?,_,*,/,\,% (base remplie par saisie manuel)
Dois-je changer de client odbc ?
J'accede via des requetes ADOB, exemple code écrit :
C'est la chaine sBS qui est succeptible de contenir des caractère exotiques.
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 Function F_DEL_BS(sBS As String, sTable As String, INSTANCE As String) As Integer 'Déclaration de la connection ORACLE Dim cnx As New ADODB.Connection Dim rcd As New ADODB.Recordset Dim strSQL As String Dim strSQLSEL As String Dim iNb As Integer Dim strComment As String ' Ouverture de la connection sur la base oracle cnx.Open INSTANCE, COMPTE, MDP ' Chaine de controle SQL strSQLSEL = "SELECT * FROM " & sTable & " WHERE ASERIALNUMBER = '" & sBS & "'" ' Test si des valeur sont à deleter iNb = F_QUERY(strSQLSEL, INSTANCE) If iNb > 0 Then ' Construction de la requete SQL strSQL = "DELETE FROM " & sTable & " WHERE ASERIALNUMBER ='" & sBS & "'" ' Execution de la requete cnx.BeginTrans rcd.Open strSQL, cnx cnx.CommitTrans ' fermeture connection base oracle cnx.Close End If ' Retour Log F_DEL_BS = iNb End Function
Merci d'avance,
Partager