--- In [email protected], "M. Aksan Kurdin" 
<[EMAIL PROTECTED]> wrote:
Assalamu'alaikum mas aksan...or access mania maaf mengganggu lagi, 
mengenai function fnDateEmptyToNull yg dibuat mas aksan bisa gak sih 
diterapkan di sisi client ;), soalnya untuk proses update atau 
insert kadang2 saya buat koneksi melalui ADO di client, jadi tidak 
membuat stored procedure di sisi server, permasalahannya adalah 
field yang tanggal bila blm terisi akan terisi default dari access 
yaitu 01/01/1900, karena parameter yang dimasukkan adalah null, bisa 
gak di 'akalin' dari sisi clientnya. jadi masuknya data kosong 
server bisa tahu ini adalah null seperti skenario dari Function ini 
lho..
maaf masih belajar syntax nih soalnya lagi proses migrasi dan udah 
dikejar2 deadline...please thx b4.

> selama saya ada waktu untuk mbantu, no-pe,
> dari kasus anda gunakan UDF ini di sproc anda penganti fnGetDate:
> 
> CREATE FUNCTION fnDateEmptyToNull(
>   @DateToGet datetime
> )
> RETURNS varchar(10)
> AS
> BEGIN
>     DECLARE @GetDate varchar(10)
>     IF ISNULL(@DateToGet,' ') = ' '
>         SELECT @GetDate =  NULL
>     ELSE
>         SELECT @GetDate = CONVERT (varchar, @DateToGet, 111)
>         
>     RETURN @GetDate
> END
>  
> Coba jalankan dari SQL Query Analyzer:
> SELECT dbo.fnDateEmptyToNull(GetDate()) TglSekarang, 
> dbo.fnDateEmptyToNull(NULL) TglNull, dbo.fnDateEmptyToNull(' ') 
> TglKosong
>  
> 
> 
> Aksan Kurdin
> 
> 
> --- In [email protected], "Heri Sumanto" <heri_juan@> 
> wrote:
> >
> > --- In [email protected], "M. Aksan Kurdin" 
> > <aksan.kurdin@> wrote:
> > sori mas aksan sebetulnya men set field tanggal ke value null 
sudah 
> > saya terapkan sebelum saya kirim ke mas aksan, dan berhasil tp 
saya 
> > pikir banyak sekali codingnya tapi bila function fgetdate itu 
> > disertakan diparameter maka hasilnya tetap sama yaitu 
01/01/1900, 
> jd 
> > gimana ya ? maaf loh jadi merepotkan terus....
> > 
> > > field tgl_stnk dan field tanggal lain di set allow null
> > > cek semua parameter,kalau kosong ganti dengan null
> > > baru lakukan update/insert dengan parameter yang sudah 
diperbaiki.
> > > 
> > > IF ISNULL(@Tgl_STNK,' ') = ' ' SET @Tgl_Stnk = NULL
> > > IF ISNULL(@Tgl_BPKB,' ') = ' ' SET @Tgl_BPKB = NULL
> > > IF ISNULL(@tgl_transfer_bbn,' ') = ' ' SET @tgl_transfer_bbn = 
> NULL
> > > IF ISNULL(@Ttd_bpkb,' ') = ' ' SET @Ttd_bpkb = NULL
> > > IF ISNULL(@tgl_spp_bbn,' ') = ' ' SET @tgl_spp_bbn = NULL
> > > IF ISNULL(@tgl_terbit_stnk,' ') = ' ' SET @tgl_terbit_stnk = 
NULL
> > > 
> > > IF @IDP>0
> > >   BEGIN
> > >           
> > >           Update stnk set 
> > >           No_STNK = @No_STNK,
> > >           Tgl_STNK = @Tgl_STNK,
> > >           No_BPKB = @No_BPKB,
> > >           Tgl_BPKB = @Tgl_BPKB,
> > >           tgl_transfer_bbn = @tgl_transfer_bbn,
> > >           Ttd_bpkb = @Ttd_bpkb,
> > >           No_ttd_BPKB = @No_ttd_BPKB,
> > >           tgl_spp_bbn = @tgl_spp_bbn,
> > >           bbn = @bbn,     
> > >           Keterangan = @Keterangan,
> > >           tgl_terbit_stnk = @tgl_terbit_stnk,
> > >           id_birojasa = @id_birojasa
> > >           Where id_pengirim = @id_pengirim
> > >           
> > >   END
> > > ELSE
> > >   begin   
> > > --bila stnk belum dinput
> > > insert into stnk ( 
> > > 
> > 
> 
id_pengirim,No_STNK,Tgl_STNK,No_BPKB,Tgl_BPKB,tgl_transfer_bbn,Ttd_bp
> > k
> > > b,
> > > 
> No_ttd_BPKB,tgl_spp_bbn,bbn,Keterangan,tgl_terbit_stnk,id_birojasa,
> > > tgl_created)
> > > values 
> > > 
> > 
> 
(@id_pengirim,@No_STNK,@Tgl_STNK,@No_BPKB,@Tgl_BPKB,@tgl_transfer_bbn
> > ,
> > > @Ttd_bpkb,
> > > 
> > 
> 
@No_ttd_BPKB,@tgl_spp_bbn,@bbn,@Keterangan,@tgl_terbit_stnk,@id_biroj
> > a
> > > sa,getdate())
> > > end
> > > 
> > > 
> > > aksan kurdin
> > > --- In [email protected], "Heri Sumanto" 
> <heri_juan@> 
> > > wrote:
> > > >
> > > > terima kasih atas jawaban mas aksan, saya sudah coba jawaban 
> > yang 
> > > > pertama dan sukses tapi untuk jawaban kedua tentang tanggal, 
> > > > sepertinya tidak jalan, maksudnya semua data yang diinput 
> kosong 
> > > > tetap terisi 01/01/1900. Maaf selalu merepotkan..berikut 
saya 
> > > > sertakan penggalan codingnya, sbb:
> > > > 
> > > > IF @IDP>0
> > > >         BEGIN
> > > >                 
> > > >                 Update stnk set 
> > > >                 No_STNK = @No_STNK,
> > > >                 Tgl_STNK = dbo.fnGetDate(Tgl_STNK) ,
> > > >                 No_BPKB = @No_BPKB,
> > > >                 Tgl_BPKB = dbo.fnGetDate(@Tgl_BPKB),
> > > >                 tgl_transfer_bbn = dbo.fnGetDate
(@tgl_transfer_bbn),
> > > >                 Ttd_bpkb = dbo.fnGetDate(@Ttd_bpkb),
> > > >                 No_ttd_BPKB = @No_ttd_BPKB,
> > > >                 tgl_spp_bbn = dbo.fnGetDate(@tgl_spp_bbn),
> > > >                 bbn = @bbn,     
> > > >                 Keterangan = @Keterangan,
> > > >                 tgl_terbit_stnk = dbo.fnGetDate
(@tgl_terbit_stnk),
> > > >                 id_birojasa = @id_birojasa
> > > >                 Where id_pengirim = @id_pengirim
> > > >                 
> > > >         END
> > > > ELSE
> > > >         begin   
> > > > --bila stnk belum dinput
> > > > insert into stnk ( 
> > > > 
> > > 
> > 
> 
id_pengirim,No_STNK,Tgl_STNK,No_BPKB,Tgl_BPKB,tgl_transfer_bbn,Ttd_bp
> > > > 
> > > 
> > 
> 
kb,No_ttd_BPKB,tgl_spp_bbn,bbn,Keterangan,tgl_terbit_stnk,id_birojasa
> > > > ,tgl_created)
> > > > values (@id_pengirim,@No_STNK,dbo.fnGetDate
> > > > (@Tgl_STNK),@No_BPKB,dbo.fnGetDate(@Tgl_BPKB),dbo.fnGetDate
> > > > (@tgl_transfer_bbn),dbo.fnGetDate
> > > > (@Ttd_bpkb),@No_ttd_BPKB,dbo.fnGetDate
> > > > (@tgl_spp_bbn),@bbn,@Keterangan,dbo.fnGetDate
> > > > (@tgl_terbit_stnk),@id_birojasa,getdate())
> > > >         
> > > >         end
> > > >
> > >
> >
>


Kirim email ke