2013-01-21 2 views
1

Je ne suis pas en mesure de trouver une réponse en ligne et assez troublé par le problème suivant: J'essaie de nous mettre à jour une requête pour mettre à jour le champ de date une table dans une autre. Les deux champs ont le même type de données "date/heure". Lorsque je crée une requête de mise à jour renvoie des valeurs vides .... copie du code SQL ci-dessousMicrosoft Access 2010: requête de mise à jour - problème avec le type de données "date/heure"

UPDATE [MIDs with comments] INNER JOIN [account status for MIDs with comments table] 
     ON [MIDs with comments].[Merchant Number] = 
      [account status for MIDs with comments table].[Merchant Number] 
SET [MIDs with comments].[Account Open Date] = 
    [account status for MIDs with comments table].[ACCT_OPEN_DT]; 

Je ne sais pas ce que je fais mal ici que la requête semble assez simple. Quand je fais une requête régulière, elle renvoie des valeurs sans aucun problème.

Aidez-nous s'il vous plaît.

+3

Le formatage n'est pas identique au type de données. Quel est le type de données dans chaque table? Travaillez-vous à partir de tables ou de requêtes? – Fionnuala

+0

Je travaille avec 2 tables. Les deux champs ont le même type de données: Date/Heure. J'ai mal utilisé le mot "formated" ici. Désolé – user1718149

+0

Les deux tables sont-elles des tables d'accès (Jet)? J'ai eu des cas où une date était valide dans Access mais pas dans le serveur SQL (comme 1/1/1011). –

Répondre

1

Je suis étonné de ce que vous vouliez dire lorsque vous avez dit que votre requête UPDATE "renvoie des valeurs vides". Une requête UPDATE ne renvoie pas de valeurs, vide ou autrement.

Si vous utilisez le concepteur de requêtes Access pour créer votre requête, puis basculez vers la feuille de données, qui n'exécute pas réellement la requête. Pour l'exécuter, cliquez sur l'icône Exécuter (point d'exclamation rouge).

Si cela n'a pas été l'explication, je vous suggère de sauvegarder votre requête puis essayez ceci dans la fenêtre immédiate (vous pouvez y aller avec Ctrl +g).

DoCmd.SetWarnings True 
Set db = CurrentDb() 
db.Execute "Your query name here", dbFailOnError 
? db.RecordsAffected 

Si la ligne .Execute renvoie une erreur, nous dire le texte intégral du message d'erreur. Si aucune erreur, RecordsAffected sera zéro. Dans ce cas, nous devrons enquêter davantage pour déterminer pourquoi aucun enregistrement n'a été mis à jour.

+0

Salut, je suppose que mon explication a troublé tout le monde: D – user1718149

+0

Salut, je suppose que mon explication a dérouté tout le monde: J'ai cliqué sur "Créer une requête" et j'ai choisi "Mettre à jour" .J'ai laissé tomber deux tables et je les ai jointes.J'ai besoin de mettre à jour le champ "Compte Ouvrir Date" ACCT_OPEN_DT "Lorsque je clique sur la feuille de données, chaque ligne est vide et ne reflète pas les valeurs de" ACCT_OPEN_DT "...... J'ai essayé d'utiliser la fenêtre immédiate et je n'ai pas eu d'erreurs juste un certain nombre d'enregistrements à la fin. .. – user1718149

+0

Donc, dans le Fenêtre immédiate, votre requête s'est déroulée sans erreur et vous avez obtenu un nombre supérieur à zéro pour 'RecordsAffected'. Est-ce exact? Si oui, je ne comprends pas où est le problème. – HansUp

Questions connexes