Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formulare filtern & verknüpfen - Brauche dringend Hilfe:(

Begonnen von Sarah, August 13, 2013, 17:27:43

⏪ vorheriges - nächstes ⏩

Sarah


Sarah

Hallo Franz,

ich habe mich mal am Import Button versucht. Glaube ich bin nicht weit entfernt, aber ich kriege diese doofe Fehlermeldung: Fehler beim Kompilieren: Benutzerdefinierter Typ nicht definiert.
Hast du Lust es dir anzuschauen?

Wenn ich die Access Datenbank dann später in Back- und Frontend teile, kann ich die Back-end Datei auf einen FTP Server legen (als Netzlaufwerk verbinden) und die Frontends an die ganzen Übersetzer verteilen. Müsste funktionieren oder? Hast du über das Internet schon mal eine Access Datenbank mit mehreren Personen geteilt? Hatte vorhin bisschen per google Infos gesucht und viele Einträge gelesen, in denen behauptet wurde, dass es nicht funktioniert :( Werde es morgen mal ausprobieren, hoffentlich klappt es, wüsste nicht, wie ich sonst die Datenbank mit den Übersetzern teilen soll.

Gute Nacht & LG
Sarah

[Anhang gelöscht durch Administrator]

DF6GL

Hallo,

es fehlt der Verweis auf die Microsoft Office Library.  Die wird vom "Filedialog"  benötigt  (VBA-Editor/Extras/Verweise)


Ansonsten funktioniert der Import, wenn die xls-Datei korrekte Daten bzgl. der Fremdschlüssel enthält.  In der DB ist das Uploaddatum-Feld jetzt als Datum/Uhrzeit-Datentyp deklariert, da gibt es dann bei meiner Version der xls-DAtei Probleme, weil dort noch die Kalenderwoche drinsteht.

Das Recordset-Getönse brauchst Du so nicht. Es kommt halt darauf an, wie das Ganze ablaufen soll.  Wenn immer wieder neue Import-Daten hinzugefügt werden, dann muss das Zählen der importierten DS mit dem Kriterium des Upload-Datums passieren. Für solche Fälle sehe ich die Dcount-Funktion oder einen Recordset-Einzeiler als praktisch an.


Private Sub ImportButton_Click()
On Error GoTo Errh

Dim strPath As String
Dim filePicker As FileDialog
Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb

Set filePicker = Application.FileDialog(msoFileDialogFilePicker)

With filePicker
    .AllowMultiSelect = False
    .ButtonName = "Select"
    .InitialView = msoFileDialogViewList
    .Title = "Select File"

    With .Filters
        .Clear
        .Add "All Files", "*.*"
    End With
    .FilterIndex = 1

    .Show
End With

strPath = filePicker.SelectedItems(1)
Debug.Print strPath
DoCmd.TransferSpreadsheet TransferType:=acImport, SpreadsheetType:=acSpreadsheetTypeExcel12, TableName:="tblAntworten", FileName:=strPath, HasFieldNames:=True

MsgBox DCount("*", "tblAntworten", "AW_UploadDatum in (select max(AW_Uploaddatum) from tblAntworten) ") & " records"
'oder
'MsgBox DBEngine(0)(0).OpenRecordset("Select Count(*) from tblAntworten Where AW_UploadDatum in (Select max(AW_Uploaddatum) from tblAntworten)", dbOpenSnapshot)(0) & " records"
Exit_Sub:
Exit Sub

Errh:
MsgBox Err.Number & ": " & Err.Description
Resume Exit_Sub
End Sub



Die Msgbox zeigt die Anzahl der importierten Datensätze, die das jüngste UploadDatum besitzen.  Es ist möglich, dieselben Daten(sätze) mehrmals zu importieren, also Dubletten zu erzeugen.. Wenn das nicht sein soll, dann sollte auf das Feld AW_Text ein eindeutiger Index (ohne Duplikate) gelegt werden.


(Tippfehler bei tblAntworten korrigiert)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Sarah

Danke Franz!

- In meinem VBA Editor gibts im Menü Extras aber keinen Punkt der Verweise heißt :( Muss ich für die Office Library etwas am Code verändern oder geht das nur über dieses Menü?
Gibts vllt einen Schnellzugriff in einer Symbolleiste zum Menüpunkt Verweise? Hat der ein bestimmtes Symbol?

DF6GL

Hi,

ich denke schon dass es sowas gibt....

[Anhang gelöscht durch Administrator]
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Sarah

Danke Franz, habe es nun gefunden :) Problem ist nur, dass durch den Import eine neue Tabelle namens tb|Antworten hinzugefügt wird, anstatt dass die Daten in die bestehende tb|Antworten Tabelle aufgenommen werden. :(
An welcher Stelle muss ich den Code ändern, damit die Daten in die bestehende tb|Antworten hinzugefügt werden?

Merci & schönes Wochenende!
Sarah

DF6GL

Hi,

" tb|Antworten"    da ist doch ein Tippfehler...

das muss ein kleines "eL" sein, kein Pipeline-Zeichen.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Sarah

Hey,

puuh, ich brauch mehr Schlaf, wenn das Ganze rum ist. Danke für den erneuten Hinweis mein Access-Held  :) ! Jetzt funktioniert es :)


Bin jetzt am überlegen, wie ich die Datenbank am Besten mit den ganzen Übersetzern online "teilen" kann, bzw. zur Verfügung stellen kann, damit diese darin arbeiten können..
Hast du da vllt noch paar Tipps für mich? Kann ich die Back-End Datei auf einen FTP Server hochladen und die Front-End Datei an die ganzen Übersetzer verteilen? Gibt es da was wichtiges zu beachten?

LG

DF6GL

Hallo,

ich befürchte, Du stellst Dir eine solche Forderung zu einfach vor..  Access ist ein DESKTOP-Datenbanksystem, kein webseitiges ...

FTP geht gar nicht...   Es funktioniert ein "Mapping" eines LWs  auf ein/en Web-Verzeichnis/Speicherplatz, aber auch nur prinzipiell, arbeiten kann man damit aber nicht,  außer, Du willst zwischen jedem Klick ein paar Tassen Kaffee kochen und die auch noch trinken....


Die am schnellsten und am wenigsten aufwendige Methode wäre der Fernzugriff (z. B. mit Teamviewer, LogMeIn, UVNC, RemoteDeskTop oder dergleichen)auf einen lokalen Rechner, auf dem die DB (aufgeteilt in Frontend und Backend ) gestartet ist.


"Schönere" Möglichkeit ist die Verwendung von  RemoteDesktop und einem "richtigen " Windows-Server, der Terminaldienste anbietet. Damit kann man mehrere User-Accounts auf dem Server einrichten und darin jeweils eine Sitzung der DB-Anwendung betreiben und von außen her darauf zugreifen.



Ansonsten wie bei Donkarl auch beschrieben,  ein webseitig installiertes DB-System (z. B. MySQL, oder SharePoint )  mieten und Deine DB-Anwendung entspr. umschreiben.


http://www.donkarl.com/?FAQ8.6
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Sarah

Hi Franz,
danke, ich werde es mit einem richtigen Windows Server versuchen.

Ich bin nur gerade am verzweifeln :( sitze schon den ganzen Tag an einer Datenbank, die ich für die Adressaufbereitung gebaut habe. Habe vieles von dem angewendet, was ich in der Übersetzungsdatenbank von dir gelernt habe und es klappt auch super nur die letzte Funktion kriege ich einfach nicht hin :(

Das Listenfeld lstDubGruppe zeigt die Werte (ohne Dubletten) des Felds DubGruppe in der tblNewData.

- Ich kriege die Abhängigkeit zu den drei Kombinationsfeldern, die links daneben stehen, nicht hin, sodass das Listenfeld nur noch die Werte (ohne Dubletten) anzeigt, die sich durch die Filterung der drei Kombinationsboxen ergeben.

- Sobald das dann klappt und im Listenfeld die entsprechenden Werte  angezeigt werden, soll man auf einen Wert im Listenfeld klicken können und es werden im Detailbereich des Formulars alle Datensätze angezeigt, die diesen Wert haben.

Eigentlich müsste ich ja ,,nur" eine Abhängigkeit des Listenfelds zu den drei Kombiboxen herstellen und es dem Listenfeld ermöglichen, durch klick auf einen Wert zu ,,filtern". Mir hat es aber ständig die Filterung zerschossen, als ich z.B. versucht habe das Listenfeld mit einer FIlterMe Prozedur zu hinterlegen oder mit ,,...where..." in der Datensatzherkunft rumprobiert habe.

Hintergrund: Ich will meine Datenbank nach den drei Kombinationsboxen filtern und dann das Filterergebnis nach DubGruppe (also alle Datensätze mit dem gleichen Wert im Feld DubGrupe) anzeigen lassen. Daher die Idee das über ein Listenfeld laufen zu lassen. Man filtert also die drei Kombiboxen und lässt sich dann über das Listenfeld eine DubGruppe nach der anderen durch Klick anzeigen. Das ist die einzige Idee die ich hatte, um das umzusetzen.
Hoffentlich kannst du mir weiterhelfen.

Anbei die Datenbank.
LG
Sarah


[Anhang gelöscht durch Administrator]

DF6GL

Hallo,


versteh nicht genau, was Du machen willst..


Das Listenfeld zeigt die DS entspr. der Kombiauswahlen an...  Diese Anzeige /bzw. der Abfrage-SQL-String) wird zwar gruppiert, aber weil NDID mit in der Select-Liste auftaucht, hat die Gruppierung nicht den gewünschten Effekt, die "DubGruppe" zu "distinktieren". Wenn das so aber gewünscht ist, dann muss NDID aus der Select-Liste (beim SQL-String für die Rowsource des Listenfeldes) herausgenommen werden.   


Außerdem rätsele ich an den Datentypen für "Zahl" bei einigen Tabellenfeldern, die als "Double" im Raume (bzw. in der Tabelle) stehen??
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Sarah

Hallo Franz,

stimmt, das Listenfeld grenzt richtig ein nach der Filterung. Jetzt versteh ich das Problem: Im Listenfeld wurde die NDID angezeigt und nicht die DubGruppe. Das geht jetzt dank deinem Tipp.

Aber mein Hauptproblem besteht immernoch. Auf dem angehängten Screenshot habe ich mal markiert was ich meine.

- Wenn ich in den ersten drei Filtern etwas eingrenze, dann sollen im Listenfeld keine Dubletten angezeigt werden. Es dürfte also nur 43 und 148 im Listenfeld stehen. Das habe ich eben geschafft, in dem ich "Distinct" mit reingenommen habe :) :)

- Aber jetzt der Haken: Wenn ich im Listenfeld z.B. auf die 148 klicke, dann sollen mir unten nur die beiden markierten Datensätze angezeigt werden, da ja nur diese zur 148 DubGruppe gehören. Es muss also eine Art Selektion erfolgen.
Diese Funktion macht mir aber das Leben schwer ...

Die Datentypen wurden automatisch aus dem Excelimport übernommen. Dachte eiglt mit Zahl liege ich richtig, weil nur Zahlen in den Feldern stehen. War das sehr dumm?  :-[

Danke,
Sarah

[Anhang gelöscht durch Administrator]

DF6GL

Hallo,

da ist nichts und niemand  "dumm"    :)



Es muss halt eine Filterung nach der "DupGruppe" erfolgen , entspr. der Filterung-Methodik in "FilterMe"


(Habe jetzt nicht die DB vor mir)


Ähnlich:

Sub lstDupGruppen_Click()
Me.Recordsource =" Select * from tblTabelle  Where DupGruppe = " & Me!lstDupGruppe.Column(0)   ' Wenn die "DupGruppe" im Listenfeld in der ersten Spalte steht
End Sub
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Sarah

Hi Franz,

sorry, dass ich mich nicht mehr gemeldet habe. Nach paar Tagen Abstand und Ruhe hab ich nun wieder einen klaren Kopf und bin voller Motivation das Ganze weiterzuführen :)

Dein letzter Tipp hat super funktioniert. Vielen Dank!

Eine Frage bleibt nun noch: Kann ich die Navigationspfeile "vor" "zurück" umprogrammieren, sodass sie per Klick nur durch das Listenfeld gehen. Heißt am Beispiel des angehängten Screenshots: Wenn ich auf den rechten Pfeilbutton klicke springt das Listenfeld von 20 auf 34.

Vielen Dank für deine Hilfe & LG
Sarah

[Anhang gelöscht durch Administrator]

DF6GL

Hallo,

nun, umprogrammieren kannst Du das so (einfach) nicht...  Das Ganze ist aber eine Frage der Sortierung.  Wenn die Formular- und Listendaten beide gleichermaßen sortiert sind, erübrigt sich eine "Umprogrammierung"
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access