come faccio da vb6 o vb.net a spostare la chiave primaria da una colonna ad un altra?![]()
Grazie
come faccio da vb6 o vb.net a spostare la chiave primaria da una colonna ad un altra?![]()
Grazie
Beh in VB.NET
Basta che ti crei una DataTable e poi ...
DA MSDN
UniqueConstraint
L'oggetto UniqueConstraint, che può essere assegnato a una singola colonna o a una matrice di colonne in una DataTable, consente di assicurare che tutti i dati della colonna o delle colonne specificate siano univoci in qualsiasi riga.
codice:Dim custTable As DataTable = custDS.Tables("Customers") Dim custUC As UniqueConstraint = New UniqueConstraint(New DataColumn() _ {custTable.Columns("CustomerID"), _ custTable.Columns("CompanyName")}) custDS.Tables("Customers").Constraints.Add(custUC)
ok fin qui ci siamo
ma il mio problema è diverso..
ho un mdb di accesss 2003 con dati all'interno...
devo spostare la chiave primaria da una colonna ad un'altra..
ho guardasu sull'msdn , ho preso il codice che viene eseguito correttamente ma non viene apportata nessuna modifica...
![]()
Beh ma tu non riesci da codice VB a cambiare un' impostazione di Access 2003 fallo direttamente da Access ...
![]()
ah... ok... sono spacciato...VVoVe:
Beh no puoi sempre usare una Stored Procedure che ti fa il lavoro che vuoi tu.
Io non le uso e mi trovi a dieta ma se vai qui trovi tutto sul linguaggio SQL.
Sicuramente trovi anche il comando
ALTER TABLE.
http://www.w3schools.com/sql/sql_groupby.asp
![]()
Con alter table dovresti:
1) rimuovere la chiave primaria esistente;
2) inserire la nuova chiave primaria, ricordando che il comando potrebbe fallire se esistono dati con valori identici nei campi che dovranno fare parte della nuova chiave primaria (cosa possibile poichè non ne facevano parte prima)
Scusate i puntini di sospensione...... La verità è che non ho argomenti....