vba - filesuche
pUmPkin 17.07.2005 - 14:26 1735 11
pUmPkin
Big d00d
|
hab folgendes problem .. eigentlich ganz einfach erklärt, ich will in access in einem bericht in einem bestimmten ordner nach einem file suchen, der filename ist mir natürlich bekannt nach dem ich suchen will, tjo, und wie geht das, bzw. geht das überhaupt ?
TIA pumpkin
|
mat
AdministratorLegends never die
|
Application.FileSearch
|
pUmPkin
Big d00d
|
hm .. also des filesearch hat irgendwie ned funktioniert, bzw konnt ich diese methode erst gar ned auswählen, da ich das nun nicht hibekommen habe, hab ich mir das problem selbst ein wenig erleichtert indem ich alle bilder in einen ordner geschmissen habe und ihm nun den ordner pfad geb und immer den dazugehören filenamen dazu flicke, nun find ich zwar jedes bild nur is nun ein weiteres problem aufgetreten .. wenn ich den bericht ausführ lädt er zwar alle bilder aber er zeigt sie mir nicht an !? .. kein plan was da falscht läuft .. jemand eine idee? ?
und das zweite ist, ich kann in dem bericht nicht ganz nomal auf ein textfeld zugreifen, wenn ich ihm z.B. hineinschreib .. Textfeld.Text = "hallo" .. dann schreibt er mir so ungefähr das ich nur auf das textfeld zugreifen kann wenn der focus darauf liegt, ich weiß nicht genau welcher focus da überhaupt gemeint ist, auf jedenfall hab ich einfach mal mit setfocus vorher den focus darüber gelegt, nicht mal das funktionierte, da gab er mir den fehler aus, dass er mir nicht erlaubt diese methode auszuführen, tjo .. somit kann ich ned so wirklich einfach in ein textfeld was reinschreiben, hoffe es hat irgendjemand eine ahnung was da nicht geht ..
TIA pumpkin
|
AoD
aka AngelOfDeath
|
VBA ist nicht das selbe wie VB6 während du in VB6 jederzeit txtName.Text = "Hugo" sagen kannst, geht das in VBA nur, wenn das Steuerelement den Focus hat (was auf die Dauer ziemlich nervig werden kann, wenn man den Focus immer setzen muss) Deshalb verwendet man unter VBA die Eigenheit, dass Steuerelemente (imho jedes) eine Default-Eigenschaft haben. Bei einem Textfeld ist dies das Property Text. Was ich damit sagen will: txtName = "Hugo"
|
pUmPkin
Big d00d
|
jea .. endlich wieder mal was das funktioniert  funktioniert es auch in die andere richtung so, dass ich einfach dann [string] = txtname mach? .. und falls sich jemand sehr gut mit string manipulation auskennt, gibt es einen befehl oder wwi um bei einem string alle 40 zeichen einen zeilenumbruch zu erzeugen .. ? tja .. und wenn dann die fotos auch noch funktionieren bin ich fertig ^^ TIA pumpkin
|
AoD
aka AngelOfDeath
|
also in die andere richtung sollte es auch funktionieren und wegen alle 40 zeichen einen zeilenumbruch, würd ich mal sowas probieren (habs selber nicht getestet) Dim strResult As String
While Len(strOriginal) > 40
strResult = strResult & Mid$(strOriginal, 1, 40) & vbCrLf
strOriginal = Mid$(strOriginal, 40)
Wend
kann sein, dass es noch nicht perfekt ist, und manchmal irgendwo 39 zeichen statt 40 sind. edit: wenn du das öfters brauchst, kannst eine Funktion machen (Auch wieder nicht getestet) Public Function Zeilenumbruch(ByVal strOriginal As String) As String
Dim strResult As String
While Len(strOriginal) > 40
strResult = strResult & Mid$(strOriginal, 1, 40) & vbCrLf
strOriginal = Mid$(strOriginal, 40)
Wend
Zeilenumbruch = strResult
End Function
wird dann einfach so verwendet: strErgebnis = Zeilenumbruch(strElendsLangerText)
Bearbeitet von AoD am 05.08.2005, 17:36
|
pUmPkin
Big d00d
|
hm .. naja .. soweit funst eigentlich alles, aber wie es natürlich laufen muss spinnt jetzt schon wieder was anderes, .. windows spuckt mir den fehler aus das ich zu wenig virtuellen speicher hab und von access bekomm ich den fehler das plötzlich die bilddatei zu groß ist, .. hatte schon mal jemand ein ähnliches problem ? im programm siehts so aus das ich im bericht bis zu 300 bilder reinladen muss und jetzt hab ich mir gedacht das es da evtl einen befehl gibt um nur immer die jeweilige seite reinzuladen oder halt jedes bild einzeln oder so ? .. hab keinen plan wie das zu lösen ist  TIA pumpkin
|
pUmPkin
Big d00d
|
sry für doppelpost .. aber was vielleicht noch wichtig is zu wissen, .. die fotos sind mit ner digi cam gemacht, d. h. mit ca. 3 mega pixel oder so, kann man vielleicht auch die bilder verkleinern das der arbeitsspeicher ned so arg belastet wird ? so haben ja die bilder über ein 1mb und mehr ..
|
AoD
aka AngelOfDeath
|
Wie wärs wenn du einen Filter anwendest? Ich kann mir nicht vorstellen, dass es notwendig ist, den ganzen Bericht auf einmal anzuzeigen. Überleg dir mal warum es nötig sein sollte 300 bilder zu laden. Wenn es zB Bilder aller Mitarbeiter sind (1 Seite mit einem Bild pro Mitarbeiter), dann lass den Benutzer zuerst eine Auswahl treffen. Ob das jetzt der exakte Benutzer, der Anfangsbuchstabe oder Bereiche sind (zB A-E) sind, hängt dann von der Anwendung ab.
|
pUmPkin
Big d00d
|
da is schon ein filter aktiv  .. es sind verschiedene kostenstellen mit bilder von allen dort angewendeten geräten .. da kommen halt leider dann bei ein zwei davon bis zu dreihunder bilder zam ..
|
AoD
aka AngelOfDeath
|
also im Bereich des Möglichen wäre es auch mittels VBA ein Word Dokument zu machen (Verweis auf Microsoft Word einbinden) und dieses anschließend per PDF Drucker in ein Format zu bringen, dass dir helfen sollte Arbeitsspeicher zu sparen. Ist ne umständliche Variante, sollte aber funktionieren
|
watchout
Legendundead
|
Hm, entweder du speicherst "thumbnails" in die DB/FS dazu und selectest für den "Bericht" nur die Thumbs oder du haust mehr RAM in die Kiste und schraubst gleichzeitig nochmal das Swapfile hoch *g* Naja, Access is einfach nicht für sowas gedacht...
|