web-dev-qa-db-fra.com

Comment créer une nouvelle colonne dans une requête de sélection

Dans MS Access, je souhaite insérer une nouvelle colonne dans le résultat renvoyé d'une requête de sélection. La nouvelle colonne a la même valeur pour chaque ligne. Par exemple, ma sélection renvoie les colonnes A, B et je veux que C soit la nouvelle colonne créée par la requête de sélection:

A   B   C
----------
a1  b1  c
a2  b2  c
a3  b3  c
22
Martin08
select A, B, 'c' as C
from MyTable
45
RedFilter

SELECT field1, field2, 'example' AS newfield FROM TABLE1 Ceci ajoutera une colonne appelée "newfield" à la sortie, et sa valeur sera toujours "example".

5
Chenthil

Cela dépend de ce que vous vouliez faire avec cette colonne, par exemple voici un exemple d'ajout d'une nouvelle colonne à un jeu d'enregistrements qui peut être mis à jour côté client:

Sub MSDataShape_AddNewCol()

  Dim rs As ADODB.Recordset
  Set rs = CreateObject("ADODB.Recordset")
  With rs
    .ActiveConnection = _
    "Provider=MSDataShape;" & _
    "Data Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=C:\Tempo\New_Jet_DB.mdb"
    .Source = _
    "SHAPE {" & _
    " SELECT ExistingField" & _
    " FROM ExistingTable" & _
    " ORDER BY ExistingField" & _
    "} APPEND NEW adNumeric(5, 4) AS NewField"

    .LockType = adLockBatchOptimistic

    .Open

    Dim i As Long
    For i = 0 To .RecordCount - 1
      .Fields("NewField").Value = Round(.Fields("ExistingField").Value, 4)
      .MoveNext
    Next

    rs.Save "C:\rs.xml", adPersistXML

  End With
End Sub
1
onedaywhen