i'll attempt to explain to you the reason why it won't work so that you can start/further your knowledge of honda engines.
D series are a SOHC (single overhead cam) 1.5 to 1.6L motor. They are Non and Vtec engines. Some block codes are D15B, D16A, etc.
B series are a DOHC (dual overhead cam) 1.6 to 1.8L motor. They are Non and Vtec engines. One example is the LS motor which is Non-Vtec. Some block codes are B16A SIR I, B16A SIR II, B18C5 (Type R), B18C (LS) or (GSR), B20 (CRV block)
H series are a DOHC (dual overhead cam) *don't know the liter*. The most popular is the H22A JDM from the 92-95 Prelude.
The reason you cannot do what you asked is due to the B series head being a DOHC and the D series block is for the SOHC head.
A popular swap that is done with a *b16a* head is to find an LS bottom end (block). *If* done correctly, it can be built to be a very relaible na (naturally aspirated) motor or if you have the $$$ and time to do it correctly, a good forced inducted (turbo, supercharged or nitrous injected) motor. Due to the LS motor having very long rods, this becomes a very toquey motor. My friend David has done this and it is a really fun build na daily driver.
The LS bottom end can sometimes be found for $400.
A popular swap that is done on a *d16* block that *does not* have a vtec head is to add a SOHC Y8 92-95 vtec head from a SOHC Vtec Del Sol. This is called the mini-me. It highers compression as well. *Correct me if I am wrong, I am posting before 2pm* higher compression builds up torque.
There are a lot of good books out there, explaining swaps, bolt on parts, frankenstien builds, etc. David has got me started on the HP series. Very easy to read and understand. I love them!
Well I hope I have helped and if I gave useless info that you were already aware of, my apologies.