Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Stoppa in bilder i en accessdatabas från en annan

Postades av 2006-10-10 09:30:57 - Sofia Svensson, i forum access, Tråden har 8 Kommentarer och lästs av 1072 personer

Hej!
Jag har en accessdatabas med bilder i. Den innehåller enbart bilder samt ett component id för att visa vilken component bilden tillhör.

Sen har jag en accessapplikation där man vid klick på component Id i ett formulär vill hämta bilden med matchande component id.

Databaserna är helt fristående och inte länkade till varandra. Man vet var bild-databasen ligger, that's it.
(De SKA inte vara länkade heller av olika anledningar).

Så.... att komma åt den andra databasen och plocka ut rätt bild är ju inga problem.
Problemet är hur man lättast visar bilden i den anropande applikationen?
Den behöver inte sparas undan men jag provade lösningen att stoppa in innehåller av recordset från bilddatabasen i en tabell i applikationsdatabasen.

strsql = "INSERT INTO Pictures (ComponentId,Picture) VALUES ('" + CStr(compId) + "','" + rs(0) + "');"

Där rs(0) syftar på bilden hämtad från bilddatabasen och instoppad i rs.

Får meddelandet "Type mismatch".
Jag vet inte hur jag hanterar bilden?


Så antingen om någon vet hur jag får in bilden från recordset in i tabellen eller hur man modifierar en bild på ett formlärs control source direkt till recordsetet.

Har provat med Form_Picture.OLE_Picture.ControlSource = rs(0)
Men får meddelandet:
RunTime error 2131
An Expression can not be longer than 2048 characters.

Någon som är kunnig på "bildhantering"?


Alla tips mottages tacksamt!

/Sofia


Svara

Sv: Stoppa in bilder i en accessdatabas från en annan

Postades av 2006-10-10 13:26:11 - Andreas Hillqvist

Länka in bildtabellen i din anropande applikation. Då behöver du inte överföra bilderna.

Om du ändå vill överföra bilder så rekomenderar jag att du länkar och använder en fråga:

INSERT INTO Pictures (ComponentId, Picture) 
SELECT ComponentId, Picture
FROM Linked_Pictures_Table


Svara

Sv:Stoppa in bilder i en accessdatabas från en annan

Postades av 2006-10-10 16:18:53 - Sofia Svensson

Hej Andreas!
Som jag skrev ovan så vill jag inte ha länk mellan tabellerna.
Detta av flera olika anledningar som att det bara är en temporär lösning, det är inte alla användare som kommer att få tillgång till denna bild-db.

Om man inte kan göra så att man i ett startscript kollar om bilddbn finns på plats, och i såna fall länkar in tabellen.
Vid nedstängning av programmet tar man via kod bort länken?

Det borde väl gå att fixa via kod?


Svara

Sv: Stoppa in bilder i en accessdatabas från en annan

Postades av 2006-10-10 21:10:40 - Andreas Hillqvist

Du kan göra det enklare än så och ha länken i frågan.

INSERT INTO Pictures (ComponentId, Picture) 
SELECT LinkedPictures.ComponentId, LinkedPictures.Picture
FROM [;DATABASE=C:\PathToDatabase\DatabaseName.mdb].Pictures AS LinkedPictures

Om du bara vill lägga till nya bilder:
INSERT INTO Pictures (ComponentId, Picture) 
SELECT LinkedPictures.ComponentId, LinkedPictures.Picture
FROM [;DATABASE=C:\PathToDatabase\DatabaseName.mdb].Pictures AS LinkedPictures LEFT JOIN 
    Pictures ON LinkedPictures.ComponentId = Pictures.ComponentId
WHERE Pictures.ComponentId


Då kan du först kolla om filen finns tillgänglig. I så fall skapar kör du fråga.


Svara

Sv:Stoppa in bilder i en accessdatabas från en annan

Postades av 2006-10-11 10:24:32 - Sofia Svensson

Tack Andreas!
Funkar kalas bra! :-)

Nu kom ett annat problem istället...
På formuläret som ska visa bilden har jag lagt en BoundObject Frame.
Formulärets recordsource är satt till att "SELECT Pictures.ComponentId, Pictures.Picture FROM Pictures; "
(Det kommer alltid bara att finnas ett enda record där).
BoundObjectFramens control source är satt till "Picture".

Men när jag kör så visas bara componentidt i BoundObjectFrame? Dubbelklickar jag på den så öppnas bilden i Windows Picture and Fax viewer??
Jag vill ju att bilden ska synas i formuläret?
/Sofia


Svara

Sv: Stoppa in bilder i en accessdatabas från en annan

Postades av 2006-10-11 11:07:05 - Andreas Hillqvist

BoundObjectFrame förutsätter att det finns en OLE server som kan rendera data för den lagrade bilden. Detta innebär att du måste spara ett OLE datatyp för vilket det finns en server. T.ex. BMP bilder.

Annars finns det lite andra "omvägar" man kan ta för att garantera att bild visas.


Svara

Sv:Stoppa in bilder i en accessdatabas från en annan

Postades av 2006-10-11 15:34:40 - Sofia Svensson

Hej Andreas!
Det är just nu bara jpg-bilder men det vet man ju inte om det kan slinka in en .gif.

Har du några tips på genvägar?

Tack för hjälpen!

/Sofia


Svara

Sv: Stoppa in bilder i en accessdatabas från en annan

Postades av 2006-10-11 18:44:13 - Andreas Hillqvist

Om du förklarar vad du vill åstakomma. Rör det sig om en bild som ibland uppdateras?
Vill du visa den i ett formulär en post i taget eller i en lista/rapport?


Svara

Sv:Stoppa in bilder i en accessdatabas från en annan

Postades av 2006-10-12 08:31:45 - Sofia Svensson

Man ska kunna klicka på componentid i ett formulär och då ska en bild tillhörande den komponenten visas, antingen i samma formulär eller att det öppnas ett nytt formulär innehållande enbart bilden.
Bilderna är alltså olika beroende på vilken komponent du klickat på.

Mvh,

Sofia


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 766
27 960
271 761
395
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies