*.mdb
2 отговора
129 прегледа
*.mdb
Molia Pomognete ! Kak moga da izvadia fail (*.mp3) ot *.mdb file s OLE kontrola?
Probvah tozi nachin :
Open "FileName" for output as 1
Ole1.SaveToFile 1
Close 1
Moeto prilojenie izvajda faila, no kogato go startiram s nqkoi Player mi izpisva "Invalid File Type".Probvah da vkaram v bazata *.txt File no poluchenia fail e s promeneno sudurjanie !!!
Ima li drug metod za izkarvane na Fail ot akseska baza danni ?
Probvah tozi nachin :
Open "FileName" for output as 1
Ole1.SaveToFile 1
Close 1
Moeto prilojenie izvajda faila, no kogato go startiram s nqkoi Player mi izpisva "Invalid File Type".Probvah da vkaram v bazata *.txt File no poluchenia fail e s promeneno sudurjanie !!!
Ima li drug metod za izkarvane na Fail ot akseska baza danni ?
Re: *.mdb
Здрасти, пич,
Направих си една таблица - "Music" с 3 колонки, в аксесовска БД:
ID - за първичен ключ
Name - тип стринг - за името на песента
File - тип OLE Object - за файла.
След което използвам следните 2 функции, съответно за запис на файл в БД и за извличането му от нея:
В променливите SourceField и TargetField се задава полето от текущият ред, където се намира курсора(в моят случай rst!File), а в FileName името на файла.
Не забравяй след извикването на функцията SaveFileToDB да направиш ъпдейт на рекордсета. Както и ако добавяш нова песен да направиш предварително AddNew.
А пък за функцията LoadFileFromDB трябва предварително да си позиционирал курсора, за да извлечеш необходимата песен. Тук варианти има много. Може пък да направиш и WHERE клауза в SELECT-а при отварянето на рекордсета, така че да ти извади само точно определена песен.
И накрая искам само да кажа, че тези функции не са само за MP3 файлове, а по принцип за всякакви.
Успех от мен!
Бии, за да те уважават!
Направих си една таблица - "Music" с 3 колонки, в аксесовска БД:
ID - за първичен ключ
Name - тип стринг - за името на песента
File - тип OLE Object - за файла.
След което използвам следните 2 функции, съответно за запис на файл в БД и за извличането му от нея:
Private Function SaveFileToDB(ByRef TargetField As ADODB.Field, ByVal FileName As String) As Boolean
Dim intFileNumber As Integer
Dim lngFileLength As Long
Dim arrBytes() As Byte
On Error GoTo SaveFileToDBErr
If Dir(FileName) = "" Then Exit Function
intFileNumber = FreeFile
Open FileName For Binary Access Read As #intFileNumber
lngFileLength = LOF(intFileNumber)
ReDim arrBytes(lngFileLength)
Get #intFileNumber, , arrBytes()
TargetField.AppendChunk arrBytes()
Close #intFileNumber
SaveFileToDB = True
SaveFileToDBErr:
End Function
Private Function LoadFileFromDB(ByRef SourceField As ADODB.Field, FileName As String) As Boolean
Dim intFileNumber As Integer
Dim lngFileLength As Long
Dim arrBytes() As Byte
On Error GoTo LoadFileFromDBErr
intFileNumber = FreeFile
Open FileName For Binary As #intFileNumber
lngFileLength = LenB(SourceField)
arrBytes = SourceField.GetChunk(lngFileLength)
Put #intFileNumber, , arrBytes()
Close #intFileNumber
LoadFileFromDB = True
LoadFileFromDBErr:
End Function
В променливите SourceField и TargetField се задава полето от текущият ред, където се намира курсора(в моят случай rst!File), а в FileName името на файла.
Не забравяй след извикването на функцията SaveFileToDB да направиш ъпдейт на рекордсета. Както и ако добавяш нова песен да направиш предварително AddNew.
А пък за функцията LoadFileFromDB трябва предварително да си позиционирал курсора, за да извлечеш необходимата песен. Тук варианти има много. Може пък да направиш и WHERE клауза в SELECT-а при отварянето на рекордсета, така че да ти извади само точно определена песен.
И накрая искам само да кажа, че тези функции не са само за MP3 файлове, а по принцип за всякакви.
Успех от мен!
Бии, за да те уважават!
Редактирано от Щиpлиц на
Re: *.mdb
Mnogo sum ti blagodaren !!!! Shte opitam tozi metod. Ne znaeh kak se izpolzva funkciata "Open FileName For BINARY Access". Do sega izpolzvah samo
"Open FileName for OutPut " .Oshte vednaj BLAGODARIA !!!
"Open FileName for OutPut " .Oshte vednaj BLAGODARIA !!!