Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: dSUG - Forum der deutschsprachigen Servoy User Group. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Freitag, 18. Februar 2011, 17:39

Datensatz kopieren

Hallo zusammen,

ich möchte aus einer Tabelle1 (Felder:A_Name,A_Preis) einen Datensatz kopieren (der selektiert ist) und in eine Tabelle2 (Felder:B_Name,B_Preis) einfügen (neuen Datensatz). Hat jemand eventuell einen Codesnip wie man dies am einfachsten macht? ;(

2

Montag, 21. Februar 2011, 12:09

ganz einfach!

"Wer kämpft, kann verlieren. Wer nicht kämpft, hat schon verloren." (Bertolt Brecht)



Zuerst erstelle ich globale Variablen in Globals/variables z.B. cur_Name,cur_Preis. Dann erstelle ich eine "Relations", wobei ich in Source und Destination die gleiche Tabelle angebe! In der Form der Liste1 (Listendarstellung) erstelle ich eine "form methods" im Event "onRecordSelection", in dieser schreibe ich die aktuellen Werte in die globalen Variablen und in der Form der Liste2 (Listendarstellung) ist eine Button "Daten aus Auswahl übernehmen" über diesen wird einen neuen Datensatz erstellt und anschliessend mit den Werten der globalen Variablen gefüllt.

Zur Info: Die Formen der Liste1 und Liste2 sind jeweils auf einem TabPanel in einer Main-Form.

Ich bin mir aber sicher es geht auch einfacher oder?

Gabriel

 Administrator

Beiträge: 200

Wohnort: Inwil LU (CH)

  • Private Nachricht senden

3

Mittwoch, 23. Februar 2011, 15:08

Eine Variante wäre z.B.

Quellcode

1
2
3
4
5
6
var recTab1 = foundset.getSelectedRecord(); 

forms.testtable2.foundset.newRecord(); 
var recTab2 = forms.testtable2.foundset.getSelectedRecord(); 

databaseManager.copyMatchingColumns(recTab1, recTab2, true) ;
Gabriel

4

Mittwoch, 23. Februar 2011, 16:52

Hallo Gabriel,

danke für das Beispiel, so geht es wirklich einfach.

In meinen Tabellen habe ich allerdings noch das Problem, in der Tabell1 heißen die Felder A_NAME/A_PREIS und in der Tabelle2 heißen sie B_NAME/B_PREIS, hast Du hierfür auch noch eine Idee?

stefanoni

anhaltend neugierig

Beiträge: 273

Wohnort: CH-8200 Schaffhausen

  • Private Nachricht senden

5

Mittwoch, 23. Februar 2011, 17:59

In meinen Tabellen habe ich allerdings noch das Problem, in der Tabell1 heißen die Felder A_NAME/A_PREIS und in der Tabelle2 heißen sie B_NAME/B_PREIS, hast Du hierfür auch noch eine Idee?
Hi,
Du kannst einfach den Inhalt der Felder die nicht gleich lauten einzeln übertragen:


Quellcode

1
2
recTab2.FeldnameA  = recTab1.FeldnameB
recTab2.Feldname?? = recTab1.Feldname??



Gruss Sandro
Alessandro Stefanoni ---- gigdoodle.ch ---- stefanoni.ch ---- Stefanoni Informatik Gmbh, CH-8200 Schaffhausen Switzerland
(Servoy Version: 6.0.6 Win XP / 7, Postgres)

6

Donnerstag, 24. Februar 2011, 10:29

Hallo Stefanoni,

ja, genau das ist es :thumbup:

Kommt als Beispiel in "Servoy für Einsteiger" - Vielen Dank!

Gruß MacKoy

Social Bookmarks

Thema bewerten