Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Access 2013 Textfelder zusammenführen und verbunden bearbeiten

Frage Microsoft Microsoft Office

Mitglied: MuseumML

MuseumML (Level 1) - Jetzt verbinden

08.12.2013 um 15:29 Uhr, 5388 Aufrufe, 10 Kommentare, 2 Danke

Hallo zusammen,
meine Museums-Datenbanken haben ihren Ursprung in Zeiten von DOS und dBase, als die Lösung für längere Texte darin bestand, diese in mehrere kurze Textfelder aufzuteilen. Ich weiss, dass ich meine 6 Textstrings =[MEMO1] & " ; " & [MEMO2] & " ; " & [MEMO3] & " ; " & [MEMO4] & " ; " & [MEMO5] & " ; " & [MEMO6] verbinden und im Formular in ein Sammelfeld ausgeben kann. Dies hilft z.B. für Suchzwecke.Jetzt möchte ich aber fragen,ob es auch eine Möglichkeit gibt, die Daten so in ein langes Textbearbeitungsfeld zu importieren. In meinem Formular würde dann nur noch dieses Feld anbieten anstelle der 6 alten Bearbeitunsfeld plus Anzeigefeld.
Kennt sich da jemand aus?
Mitglied: Pjordorf
08.12.2013 um 16:25 Uhr
Hallo,

Zitat von MuseumML:
>Dies hilft z.B. für Suchzwecke.
Das solltest du dir genauer ansehen was du für Suchenmöglichkeiten und geschwindigkeiten benötigst und ob du ganze Zeichenketten wirklich effektiver einsetzen kannst.

Jetzt möchte ich aber fragen,ob es auch eine Möglichkeit gibt, die Daten so in ein langes Textbearbeitungsfeld zu importieren.
Generell, Ja.

Kennt sich da jemand aus?
Womit?

Gruß,
Peter
Bitte warten ..
Mitglied: colinardo
08.12.2013, aktualisiert um 18:23 Uhr
Hallo,
warum machst du nicht eine entsprechende Abfrage die alle Memo-Felder in einer Spalte zusammenfasst, so wie hier erläutert:
http://www.techonthenet.com/access/queries/concatenate.php
Dann kannst du entweder diese Abfrage als Quelle für dein Formular verwenden oder am besten das ganze direkt in eine neue Tabelle wandeln, und schon hast du keine Probleme mehr.

Grüße Uwe
Bitte warten ..
Mitglied: MuseumML
08.12.2013 um 20:43 Uhr
Hallo Peter,
danke für die Antwort. Lass michdas Ziel nochmals erklären: Ich hätte einfach gern die Daten von 6 Memos in ein Feld "langer Text" kopiert, damit ich dann in diesem Feld DatenEDITIUEREN editieren kann. Sicher gibt esin Access eine elegantere Lösung als copy/paste von 6 mal 7000 Einträgen.
Gruss,
MuseumML
Bitte warten ..
Mitglied: Biber
09.12.2013, aktualisiert 10.12.2013
Moin MuseumML,

willkommen im Forum.

Wenn du in deiner Tabelle ein Feld "langerText" eingefügt hast hast, dann reicht doch ein
01.
UPDATE Museumskrams  
02.
set langerText = Rtrim(Memo1) & ";" & Rtrim(Memo2) & ";" & Rtrim(Memo3) & ";" 
03.
                   &   Rtrim(Memo4) & ";" & Rtrim(Memo5) & ";"&  Rtrim(Memo6)  
04.
where (1=1);
Falls mal das eine oder andere MEMOx-Feld auch leer sein kann, dann
01.
UPDATE Museumskrams  
02.
set langerText = IIf (len(Rtrim(Memo1)) > 0,  Rtrim(Memo1) & ";" ,"") 
03.
                     & IIf (len(Rtrim(Memo2)) > 0,  Rtrim(Memo2) & ";" ,"") 
04.
                     & IIf (len(Rtrim(Memo3)) > 0,  Rtrim(Memo3) & ";" ,"") 
05.
                     & IIf (len(Rtrim(Memo4)) > 0,  Rtrim(Memo4) & ";" ,"") 
06.
                     & IIf (len(Rtrim(Memo5)) > 0,  Rtrim(Memo5) & ";" ,"") 
07.
                     & IIf (len(Rtrim(Memo6)) > 0,  Rtrim(Memo6) & ";" ,"") 
08.
where (1=1);
Wo ist das Problem?

Grüße
Biber
Bitte warten ..
Mitglied: MuseumML
10.12.2013 um 17:17 Uhr
Hallo Biber,
danke für den Tip. War es richtig, obige zweite Variante in den Textgenerator von Steuerelementinhalt des langen Textfeldes einzutrage? War mit Museumskrams der Name des neuen langen Feldes gemeint? All dies berücksichtigend kommt die Meldung "Syntax ist falsch". Bitte um Hilfe.
Grüsse
MuseumML
Bitte warten ..
Mitglied: colinardo
10.12.2013, aktualisiert um 17:40 Uhr
Hallo MusemsML
Zitat von MuseumML:
War es richtig, obige zweite Variante in den Textgenerator von Steuerelementinhalt des langen Textfeldes
einzutrage?
Nein, du musst eine Abfrage erstellen, dann stellst du die Ansicht dieser auf SQL um

0271be4c54795df9f3a5d03a79ea92cc - Klicke auf das Bild, um es zu vergrößern

fügst den SQL-Code von @Biber im erscheinenden Textbereich ein und passt den Tabellennamen hinter UPDATE, den neuen Spaltennamen hinter SET und die Feldnamen(Memo1,Memo2,etc) an deine verwendeten Spaltennamen an:
01.
UPDATE DeinTabellennamen 
02.
SET deineNeueSpalte = IIf (len(Rtrim(Memo1)) > 0,  Rtrim(Memo1) & ";" ,"") 
03.
                     & IIf (len(Rtrim(Memo2)) > 0,  Rtrim(Memo2) & ";" ,"") 
04.
                     & IIf (len(Rtrim(Memo3)) > 0,  Rtrim(Memo3) & ";" ,"") 
05.
                     & IIf (len(Rtrim(Memo4)) > 0,  Rtrim(Memo4) & ";" ,"") 
06.
                     & IIf (len(Rtrim(Memo5)) > 0,  Rtrim(Memo5) & ";" ,"") 
07.
                     & IIf (len(Rtrim(Memo6)) > 0,  Rtrim(Memo6) & ";" ,"") 
08.
where (1=1);
Wenn alles richtig ist, klickst du oben in der Tab-Leiste auf Ausführen, dann wird deine Tabelle mit der neuen Spalte aktualisiert.

Grüße Uwe
Bitte warten ..
Mitglied: Biber
10.12.2013, aktualisiert 20.12.2013
[OT] @colinardo

kaum bin ich mal kurz einen Cappuccino trinken, kommt eine Rückfrage.
Danke für's Einspringen!

Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: MuseumML
11.12.2013, aktualisiert 20.12.2013
Gallo UWE,

jetz habe ich also die Abfrage erstellt für die Tabelle Dessins:
01.
UPDATE Dessins  
02.
SET MemoLang = IIf (len(Rtrim(Memo1)) > 0,  Rtrim(Memo1) & ";" ,"")  
03.
                     & IIf (len(Rtrim(Memo2)) > 0,  Rtrim(Memo2) & ";" ,"")  
04.
                     & IIf (len(Rtrim(Memo3)) > 0,  Rtrim(Memo3) & ";" ,"")  
05.
                     & IIf (len(Rtrim(Memo4)) > 0,  Rtrim(Memo4) & ";" ,"")  
06.
                     & IIf (len(Rtrim(Memo5)) > 0,  Rtrim(Memo5) & ";" ,"")  
07.
                     & IIf (len(Rtrim(Memo6)) > 0,  Rtrim(Memo6) & ";" ,"")  
08.
where (1=1);
Bei Ausführen kommt die Meldung "Undefinierte Funktion Rtrim in Ausdruck"
-> Frust !

Gruss

Hans [MuseumML]
Bitte warten ..
Mitglied: colinardo
11.12.2013, aktualisiert um 10:58 Uhr
Zitat von MuseumML:
Bei Ausführen kommt die Meldung "Undefinierte Funktion Rtrim in Ausdruck"
-> Frust !
Heißen deine Spalten in der Tabelle wirklich Memo1, Memo2,etc ?
Hier geht es bei einem Test problemlos.
Ansonsten schreib es mal ganz simpel ohne Funktionen so
01.
UPDATE Dessins 
02.
set MemoLang = Memo1 & ";" & Memo2 & ";" & Memo3 & ";" & Memo4 & ";" & Memo5 & ";" & Memo6 
03.
where (1=1);
--edit--
es könnte sich auch um diesen BUG handeln, der auch in neueren Versionen immer mal wieder auftritt:

Grüße Uwe
Bitte warten ..
Mitglied: MuseumML
11.12.2013, aktualisiert 20.12.2013
Hallo Uwe,
Memo1-6 sind korrekt. Hingegen heisst das nee Feld richtig Memo_Lang. Läuft aber trotzdem nicht.
Habe es jetzt mit
UPDATE DESSINS SET [Memo_Lang] =[MEMO1] & " ; " & [MEMO2] & " ; " & [MEMO3] & " ; " & [MEMO4] & " ; " & [MEMO5] & " ; " & [MEMO6];
hingekriegt und bin ganz glücklich. 6 x 7607 Memos sind jetzt zusammengeführt.
Werde also auf Bug verifizieren.
Vielen Dank für die Super Unterstützung. Habe viel gelernt.
MuseumML
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft Office
Access 2013 - Beispiel für mehrfach Update und Insert (2)

Frage von evolution zum Thema Microsoft Office ...

LAN, WAN, Wireless
Freifunk über vorhandene Access Points ausstrahlen (2)

Frage von Uwoerl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Direct Access mit VPN aufbau (4)

Frage von geocast zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...