Question Comment mettre à jour les données que possède sa clé primaire de Type [Résolu]

Signaler
-
 samantik2 -
Bonjour a toutes
Je veux mettre à jour une ligne spécifique dans ma base de données, mais cet erreur afficher dans processus d'enregistrement :
Type de données incompatible dans l'expression du critère:

lorsque j'ai changer le type de champ Type : NuméroAuto au Type : Mémo ne montre aucun message
Mais je ne veux pas changer les types des champs de ma base de données
voici mon code Update :
Imports System.Data
Imports System.Data.OleDb

Public Class edit_rasm

  Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim Savecommand As New OleDb.OleDbCommand
        Dim Connectionstring As String = _
    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
    Application.StartupPath & "\Registre.accdb;" & _
    "Jet OLEDB:Database Password=123+Plus"
        Dim newconnection As New OleDbConnection(Connectionstring)
        Savecommand.Connection = newconnection
        Savecommand.CommandType = CommandType.Text
        Savecommand.CommandText "UPDATE Registre_1 SET nes_num_acte '" & Trim(nes_num_acte.Text) & "' , nes_registre = '" & Trim(nes_registre.Text) & "' , nes_type_registre = '" & Trim(nes_type_registre.Text) & "' WHERE N° ='" & TextBox1.Text & "'"
        newconnection.Open()
        Savecommand.ExecuteNonQuery()
        newconnection.Close()
        MsgBox("l'opération de mise à jour a été effectuée avec succès", MsgBoxStyle.Information)
    End Sub

voici mon table :

3 réponses

Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
2
Salut,
Je pense que dans ta requête, dans l'expression du critère tu dois mettre:
WHERE N° =" & TextBox1.Text 
et non
WHERE N° ='" & TextBox1.Text & "'"


Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
Messages postés
14800
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 juin 2021
156
Bonjour,

WHERE N° =" & TextBox1.Text
De base, on évite les noms avec des caractères non ASCII de base ( =< 128) car cela peut poser des problèmes d'interprétation de la requête.

Ensuite, espionne la valeur de chaine générée, pour récupérer la requête tel quel pour l’exécuter sur Access.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
merci NSUADI & NHenry beaucoup